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

This commit is contained in:
Priit Tark 2015-06-09 13:20:47 +03:00
commit ee150e73ec
27 changed files with 2122 additions and 1182 deletions

View file

@ -1,3 +1,8 @@
08.06.2015
* Add sk service name to application.yml
* Renew zonefile procedure
02.06.2015 02.06.2015
* Added possibility to overwrite legal document types at application.yml level. * Added possibility to overwrite legal document types at application.yml level.

View file

@ -55,7 +55,7 @@ gem 'money-rails', '~> 1.3.0' # Money helpers
# deploy # deploy
gem 'whenever', '~> 0.9.4', require: false gem 'whenever', '~> 0.9.4', require: false
gem 'data_migrate', gem 'data_migrate',
github: 'gitlabeu/data_migrate', github: 'gitlabeu/data_migrate',
ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81' ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81'
@ -73,7 +73,7 @@ gem 'digidoc_client', '~> 0.2.1'
# epp # epp
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp' gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
gem 'epp-xml', '~> 1.0.1' # EPP XMLs gem 'epp-xml', '~> 1.0.2' # EPP XMLs
gem 'uuidtools', '~> 2.1.4' # For unique IDs (used by the epp gem) gem 'uuidtools', '~> 2.1.4' # For unique IDs (used by the epp gem)
# for importing legacy db # for importing legacy db

View file

@ -171,7 +171,7 @@ GEM
nokogiri (>= 1.4.0) nokogiri (>= 1.4.0)
savon (>= 2.4.0) savon (>= 2.4.0)
docile (1.1.5) docile (1.1.5)
epp-xml (1.0.1) epp-xml (1.0.2)
activesupport (~> 4.1) activesupport (~> 4.1)
builder (~> 3.2) builder (~> 3.2)
equalizer (0.0.11) equalizer (0.0.11)
@ -529,7 +529,7 @@ DEPENDENCIES
devise (~> 3.4.1) devise (~> 3.4.1)
digidoc_client (~> 0.2.1) digidoc_client (~> 0.2.1)
epp (~> 1.4.2)! epp (~> 1.4.2)!
epp-xml (~> 1.0.1) epp-xml (~> 1.0.2)
fabrication (~> 2.12.2) fabrication (~> 2.12.2)
faker (~> 1.3.0) faker (~> 1.3.0)
figaro (~> 1.1.0) figaro (~> 1.1.0)

View file

@ -55,7 +55,7 @@ xml.epp_head do
end end
if can? :view_full_info, @contact, @password if can? :view_full_info, @contact, @password
xml.tag!('extension') do xml.tag!('extension') do
xml.tag!('eis:extdata', 'xmlns:eis' => 'urn:ee:eis:xml:epp:eis-1.0') do xml.tag!('eis:extdata', 'xmlns:eis' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd') do
xml.tag!('eis:ident', @contact.ident, xml.tag!('eis:ident', @contact.ident,
type: @contact.ident_type, cc: @contact.ident_country_code) type: @contact.ident_type, cc: @contact.ident_country_code)
end end

View file

@ -11,7 +11,7 @@ xml.epp_head do
xml.objURI 'urn:ietf:params:xml:ns:keyrelay-1.0' xml.objURI 'urn:ietf:params:xml:ns:keyrelay-1.0'
xml.svcExtension do xml.svcExtension do
xml.extURI 'urn:ietf:params:xml:ns:secDNS-1.1' xml.extURI 'urn:ietf:params:xml:ns:secDNS-1.1'
xml.extURI 'urn:ee:eis:xml:epp:eis-1.0' xml.extURI 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd'
end end
end end

View file

@ -20,7 +20,7 @@
</contact:create> </contact:create>
</create> </create>
<extension> <extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:ident type="bic" cc="EE">123</eis:ident> <eis:ident type="bic" cc="EE">123</eis:ident>
<eis:legalDocument type="pdf"> <eis:legalDocument type="pdf">
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==

View file

@ -11,7 +11,7 @@
</contact:delete> </contact:delete>
</delete> </delete>
<extension> <extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:legalDocument type="pdf"> <eis:legalDocument type="pdf">
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
</eis:legalDocument> </eis:legalDocument>

View file

@ -25,7 +25,7 @@
</contact:update> </contact:update>
</update> </update>
<extension> <extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:legalDocument type="pdf"> <eis:legalDocument type="pdf">
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
</eis:legalDocument> </eis:legalDocument>

View file

@ -33,7 +33,7 @@
</secDNS:create> </secDNS:create>
</extension> </extension>
<extension> <extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:legalDocument type="pdf"> <eis:legalDocument type="pdf">
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
</eis:legalDocument> </eis:legalDocument>

View file

@ -8,7 +8,7 @@
</domain:delete> </domain:delete>
</delete> </delete>
<extension> <extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:legalDocument type="pdf"> <eis:legalDocument type="pdf">
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
</eis:legalDocument> </eis:legalDocument>

View file

@ -11,7 +11,7 @@
</domain:transfer> </domain:transfer>
</transfer> </transfer>
<extension> <extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:legalDocument type="pdf"> <eis:legalDocument type="pdf">
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
</eis:legalDocument> </eis:legalDocument>

View file

@ -37,7 +37,7 @@
</secDNS:update> </secDNS:update>
</extension> </extension>
<extension> <extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:legalDocument type="pdf"> <eis:legalDocument type="pdf">
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp== JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
</eis:legalDocument> </eis:legalDocument>

View file

@ -16,7 +16,7 @@
<ext:relative>P1D</ext:relative> <ext:relative>P1D</ext:relative>
</ext:expiry> </ext:expiry>
</ext:keyrelay> </ext:keyrelay>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"> <eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
<eis:legalDocument type="pdf">JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==</eis:legalDocument> <eis:legalDocument type="pdf">JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==</eis:legalDocument>
</eis:extdata> </eis:extdata>
<ext:clTRID>1422542244</ext:clTRID> <ext:clTRID>1422542244</ext:clTRID>

View file

@ -19,7 +19,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
create_table "account_activities", force: :cascade do |t| create_table "account_activities", force: :cascade do |t|
t.integer "account_id" t.integer "account_id"
t.integer "invoice_id" t.integer "invoice_id"
t.decimal "sum", precision: 10, scale: 2 t.decimal "sum", precision: 8, scale: 2
t.string "currency" t.string "currency"
t.integer "bank_transaction_id" t.integer "bank_transaction_id"
t.datetime "created_at" t.datetime "created_at"
@ -36,7 +36,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
create_table "accounts", force: :cascade do |t| create_table "accounts", force: :cascade do |t|
t.integer "registrar_id" t.integer "registrar_id"
t.string "account_type" t.string "account_type"
t.decimal "balance", precision: 10, scale: 2, default: 0.0, null: false t.decimal "balance", precision: 8, scale: 2, default: 0.0, null: false
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
t.string "currency" t.string "currency"
@ -98,7 +98,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
t.string "buyer_name" t.string "buyer_name"
t.string "document_no" t.string "document_no"
t.string "description" t.string "description"
t.decimal "sum", precision: 10, scale: 2 t.decimal "sum", precision: 8, scale: 2
t.string "reference_no" t.string "reference_no"
t.datetime "paid_at" t.datetime "paid_at"
t.datetime "created_at" t.datetime "created_at"
@ -114,7 +114,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
t.string "vk_rec_id" t.string "vk_rec_id"
t.string "vk_stamp" t.string "vk_stamp"
t.string "vk_t_no" t.string "vk_t_no"
t.decimal "vk_amount", precision: 10, scale: 2 t.decimal "vk_amount", precision: 8, scale: 2
t.string "vk_curr" t.string "vk_curr"
t.string "vk_rec_acc" t.string "vk_rec_acc"
t.string "vk_rec_name" t.string "vk_rec_name"
@ -328,10 +328,10 @@ ActiveRecord::Schema.define(version: 20150603212659) do
create_table "invoice_items", force: :cascade do |t| create_table "invoice_items", force: :cascade do |t|
t.integer "invoice_id" t.integer "invoice_id"
t.string "description", null: false t.string "description", null: false
t.string "unit" t.string "unit"
t.integer "amount" t.integer "amount"
t.decimal "price", precision: 10, scale: 2 t.decimal "price", precision: 8, scale: 2
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
t.string "creator_str" t.string "creator_str"
@ -341,20 +341,20 @@ ActiveRecord::Schema.define(version: 20150603212659) do
add_index "invoice_items", ["invoice_id"], name: "index_invoice_items_on_invoice_id", using: :btree add_index "invoice_items", ["invoice_id"], name: "index_invoice_items_on_invoice_id", using: :btree
create_table "invoices", force: :cascade do |t| create_table "invoices", force: :cascade do |t|
t.datetime "created_at", null: false t.datetime "created_at", null: false
t.datetime "updated_at", null: false t.datetime "updated_at", null: false
t.string "invoice_type", null: false t.string "invoice_type", null: false
t.datetime "due_date", null: false t.datetime "due_date", null: false
t.string "payment_term" t.string "payment_term"
t.string "currency", null: false t.string "currency", null: false
t.string "description" t.string "description"
t.string "reference_no" t.string "reference_no"
t.decimal "vat_prc", precision: 10, scale: 2, null: false t.decimal "vat_prc", precision: 8, scale: 2, null: false
t.datetime "paid_at" t.datetime "paid_at"
t.integer "seller_id" t.integer "seller_id"
t.string "seller_name", null: false t.string "seller_name", null: false
t.string "seller_reg_no" t.string "seller_reg_no"
t.string "seller_iban", null: false t.string "seller_iban", null: false
t.string "seller_bank" t.string "seller_bank"
t.string "seller_swift" t.string "seller_swift"
t.string "seller_vat_no" t.string "seller_vat_no"
@ -368,7 +368,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
t.string "seller_email" t.string "seller_email"
t.string "seller_contact_name" t.string "seller_contact_name"
t.integer "buyer_id" t.integer "buyer_id"
t.string "buyer_name", null: false t.string "buyer_name", null: false
t.string "buyer_reg_no" t.string "buyer_reg_no"
t.string "buyer_country_code" t.string "buyer_country_code"
t.string "buyer_state" t.string "buyer_state"
@ -382,7 +382,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
t.string "updator_str" t.string "updator_str"
t.integer "number" t.integer "number"
t.datetime "cancelled_at" t.datetime "cancelled_at"
t.decimal "sum_cache", precision: 10, scale: 2 t.decimal "sum_cache", precision: 8, scale: 2
end end
add_index "invoices", ["buyer_id"], name: "index_invoices_on_buyer_id", using: :btree add_index "invoices", ["buyer_id"], name: "index_invoices_on_buyer_id", using: :btree
@ -982,7 +982,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
t.text "crt" t.text "crt"
t.string "type" t.string "type"
t.string "registrant_ident" t.string "registrant_ident"
t.string "encrypted_password", default: "" t.string "encrypted_password", default: "", null: false
t.datetime "remember_created_at" t.datetime "remember_created_at"
t.integer "failed_attempts", default: 0, null: false t.integer "failed_attempts", default: 0, null: false
t.datetime "locked_at" t.datetime "locked_at"

View file

@ -16,5 +16,15 @@ Our implementation supports following protocols:
[RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910) [RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910)
[RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735) [RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735)
Related XML Schema Definitions (may differ from policies applied to registry):
[contact-1.0.xsd](schemas/contact-1.0.xsd)
[domain-1.0.xsd](schemas/domain-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):<br> More info about The Extensible Provisioning Protocol (EPP):<br>
http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol

File diff suppressed because it is too large Load diff

View file

@ -26,7 +26,7 @@ Contact Mapping protocol short version:
<contact:voice> 1 Phone number in format \+ddd.d+ <contact:voice> 1 Phone number in format \+ddd.d+
<contact:email> 1 E-mail <contact:email> 1 E-mail
<extension> 1 <extension> 1
<eis:extdata> 1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:ident> 1 Contact identificator <eis:ident> 1 Contact identificator
Attribute: "type" Attribute: "type"
"bic" # Business registry code "bic" # Business registry code
@ -62,7 +62,7 @@ Contact Mapping protocol short version:
<contact:authInfo> 0-1 Required if registrar is not the owner of the contact. <contact:authInfo> 0-1 Required if registrar is not the owner of the contact.
<contact:pw> 1 Contact password. Attribute: roid="String" <contact:pw> 1 Contact password. Attribute: roid="String"
<extension> 0-1 <extension> 0-1
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:ident> 0-1 Contact identificator <eis:ident> 0-1 Contact identificator
Attribute: "type" Attribute: "type"
"bic" # Business registry code "bic" # Business registry code
@ -87,7 +87,7 @@ Contact Mapping protocol short version:
<contact:authInfo> 0-1 Required if registrar is not the owner of the contact. <contact:authInfo> 0-1 Required if registrar is not the owner of the contact.
<contact:pw> 1 Contact password. Attribute: roid="String" <contact:pw> 1 Contact password. Attribute: roid="String"
<extension> 0-1 <extension> 0-1
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:legalDocument> 0-1 Base64 encoded document. <eis:legalDocument> 0-1 Base64 encoded document.
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
<clTRID> 0-1 Client transaction id <clTRID> 0-1 Client transaction id

View file

@ -35,7 +35,7 @@ Domain name mapping protocol short version:
<secDNS:protocol> 1 Allowed values: 3 <secDNS:protocol> 1 Allowed values: 3
<secDNS:alg> 1 Allowed values: 3, 5, 6, 7, 8, 252, 253, 254, 255 <secDNS:alg> 1 Allowed values: 3, 5, 6, 7, 8, 252, 253, 254, 255
<secDNS:pubKey> 1 Public key <secDNS:pubKey> 1 Public key
<eis:extdata> 1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:legalDocument> 1 Base64 encoded document. <eis:legalDocument> 1 Base64 encoded document.
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
<clTRID> 0-1 Client transaction id <clTRID> 0-1 Client transaction id
@ -82,7 +82,7 @@ Domain name mapping protocol short version:
<secDNS:rem> 0-1 <secDNS:rem> 0-1
<secDNS:keyData> 1-n <secDNS:keyData> 1-n
<secDNS:pubKey> 1 Public key <secDNS:pubKey> 1 Public key
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:legalDocument> 0-1 Base64 encoded document. Required if registrant is changing. <eis:legalDocument> 0-1 Base64 encoded document. Required if registrant is changing.
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
<clTRID> 0-1 Client transaction id <clTRID> 0-1 Client transaction id
@ -98,7 +98,7 @@ Domain name mapping protocol short version:
Optional attribute: verified="yes/no" Optional attribute: verified="yes/no"
<domain:name> 1 Domain name. Can contain unicode characters. <domain:name> 1 Domain name. Can contain unicode characters.
<extension> 1 <extension> 1
<eis:extdata> 1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:legalDocument> 1 Base64 encoded document. <eis:legalDocument> 1 Base64 encoded document.
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
<clTRID> 0-1 Client transaction id <clTRID> 0-1 Client transaction id
@ -130,7 +130,7 @@ Domain name mapping protocol short version:
<domain:period> 1 Registration period for domain. <domain:period> 1 Registration period for domain.
Must add up to 1 / 2 / 3 years. Attribute: unit="y/m/d" Must add up to 1 / 2 / 3 years. Attribute: unit="y/m/d"
<extension> 0-1 <extension> 0-1
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:legalDocument> 0-1 Base64 encoded document. <eis:legalDocument> 0-1 Base64 encoded document.
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
<clTRID> 0-1 Client transaction id <clTRID> 0-1 Client transaction id
@ -147,7 +147,7 @@ Domain name mapping protocol short version:
<domain:authInfo> 1 <domain:authInfo> 1
<domain:pw> 1 Domain password. Attribute: roid="String" <domain:pw> 1 Domain password. Attribute: roid="String"
<extension> 0-1 <extension> 0-1
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" <eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
<eis:legalDocument> 0-1 Base64 encoded document. <eis:legalDocument> 0-1 Base64 encoded document.
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z" Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
<clTRID> 0-1 Client transaction id <clTRID> 0-1 Client transaction id

View file

@ -12,7 +12,6 @@
--> -->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="doc/schemas/eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="doc/schemas/eppcom-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:eis-1.0" schemaLocation="doc/schemas/eis-1.0.xsd"/>
<annotation> <annotation>
<documentation> <documentation>
@ -73,23 +72,6 @@
</restriction> </restriction>
</simpleType> </simpleType>
<complexType name="identType">
<simpleContent>
<extension base="eppcom:clIDType">
<attribute name="type" type="contact:identAttrType"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="identAttrType">
<restriction base="token">
<enumeration value="ico"/>
<enumeration value="op"/>
<enumeration value="passport"/>
<enumeration value="birthday"/>
</restriction>
</simpleType>
<!-- <!--
Child elements of the <create> command. Child elements of the <create> command.
--> -->
@ -103,8 +85,6 @@
<element name="fax" type="contact:e164Type" <element name="fax" type="contact:e164Type"
minOccurs="0"/> minOccurs="0"/>
<element name="email" type="eppcom:minTokenType"/> <element name="email" type="eppcom:minTokenType"/>
<element name="ident" type="contact:identType"
minOccurs="0"/>
<element name="authInfo" type="contact:authInfoType" minOccurs="0"/> <element name="authInfo" type="contact:authInfoType" minOccurs="0"/>
</sequence> </sequence>
@ -220,8 +200,6 @@
minOccurs="0"/> minOccurs="0"/>
<element name="email" type="eppcom:minTokenType" <element name="email" type="eppcom:minTokenType"
minOccurs="0"/> minOccurs="0"/>
<element name="ident" type="contact:identType"
minOccurs="0"/>
<element name="authInfo" type="contact:authInfoType" <element name="authInfo" type="contact:authInfoType"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>

View file

@ -0,0 +1,366 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:contact-1.0"
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!--
Import common element types.
-->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="doc/schemas/eppcom-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
<import namespace="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" schemaLocation="doc/schemas/eis-1.0.xsd"/>
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0
contact provisioning schema.
</documentation>
</annotation>
<!--
Child elements found in EPP commands.
-->
<element name="check" type="contact:mIDType"/>
<element name="create" type="contact:createType"/>
<element name="delete" type="contact:authIDType"/>
<element name="info" type="contact:authIDType"/>
<element name="transfer" type="contact:authIDType"/>
<element name="update" type="contact:updateType"/>
<!--
Utility types.
-->
<simpleType name="ccType">
<restriction base="token">
<length value="2"/>
</restriction>
</simpleType>
<complexType name="e164Type">
<simpleContent>
<extension base="contact:e164StringType">
<attribute name="x" type="token"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="e164StringType">
<restriction base="token">
<!--<pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/> -->
<maxLength value="17"/>
</restriction>
</simpleType>
<simpleType name="pcType">
<restriction base="token">
<maxLength value="16"/>
</restriction>
</simpleType>
<simpleType name="postalLineType">
<restriction base="normalizedString">
<minLength value="1"/>
<maxLength value="255"/>
</restriction>
</simpleType>
<simpleType name="optPostalLineType">
<restriction base="normalizedString">
<maxLength value="255"/>
</restriction>
</simpleType>
<!--
Child elements of the <create> command.
-->
<complexType name="createType">
<sequence>
<element name="id" type="eppcom:clIDType" minOccurs="0"/>
<element name="postalInfo" type="contact:postalInfoType"
maxOccurs="2"/>
<element name="voice" type="contact:e164Type"
minOccurs="0"/>
<element name="fax" type="contact:e164Type"
minOccurs="0"/>
<element name="email" type="eppcom:minTokenType"/>
<element name="authInfo" type="contact:authInfoType" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="postalInfoType">
<sequence>
<element name="name" type="contact:postalLineType"/>
<element name="org" type="contact:optPostalLineType"
minOccurs="0"/>
<element name="addr" type="contact:addrType"/>
</sequence>
<attribute name="type" type="contact:postalInfoEnumType"/>
</complexType>
<simpleType name="postalInfoEnumType">
<restriction base="token">
<enumeration value="loc"/>
<enumeration value="int"/>
</restriction>
</simpleType>
<complexType name="addrType">
<sequence>
<element name="street" type="contact:optPostalLineType"
minOccurs="0" maxOccurs="3"/>
<element name="city" type="contact:postalLineType"/>
<element name="sp" type="contact:optPostalLineType"
minOccurs="0"/>
<element name="pc" type="contact:pcType"
minOccurs="0"/>
<element name="cc" type="contact:ccType"/>
</sequence>
</complexType>
<complexType name="authInfoType">
<choice>
<element name="pw" type="eppcom:pwAuthInfoType"/>
<element name="ext" type="eppcom:extAuthInfoType"/>
</choice>
</complexType>
<complexType name="intLocType">
<attribute name="type" type="contact:postalInfoEnumType"
use="required"/>
</complexType>
<!--
Child element of commands that require only an identifier.
-->
<complexType name="sIDType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
</sequence>
</complexType>
<!--
Child element of commands that accept multiple identifiers.
-->
<complexType name="mIDType">
<sequence>
<element name="id" type="eppcom:clIDType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<!--
Child elements of the <info> and <transfer> commands.
-->
<complexType name="authIDType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="authInfo" type="contact:authInfoType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Child elements of the <update> command.
-->
<complexType name="updateType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="add" type="contact:addRemType"
minOccurs="0"/>
<element name="rem" type="contact:addRemType"
minOccurs="0"/>
<element name="chg" type="contact:chgType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Data elements that can be added or removed.
-->
<complexType name="addRemType">
<sequence>
<element name="status" type="contact:statusType"
maxOccurs="7"/>
</sequence>
</complexType>
<!--
Data elements that can be changed.
-->
<complexType name="chgType">
<sequence>
<element name="postalInfo" type="contact:chgPostalInfoType"
minOccurs="0" maxOccurs="2"/>
<element name="voice" type="contact:e164Type"
minOccurs="0"/>
<element name="fax" type="contact:e164Type"
minOccurs="0"/>
<element name="email" type="eppcom:minTokenType"
minOccurs="0"/>
<element name="authInfo" type="contact:authInfoType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="chgPostalInfoType">
<sequence>
<element name="name" type="contact:postalLineType"
minOccurs="0"/>
<element name="org" type="contact:optPostalLineType"
minOccurs="0"/>
<element name="addr" type="contact:addrType"
minOccurs="0"/>
</sequence>
<attribute name="type" type="contact:postalInfoEnumType"/>
</complexType>
<!--
Child response elements.
-->
<element name="chkData" type="contact:chkDataType"/>
<element name="creData" type="contact:creDataType"/>
<element name="infData" type="contact:infDataType"/>
<element name="panData" type="contact:panDataType"/>
<element name="trnData" type="contact:trnDataType"/>
<!--
<check> response elements.
-->
<complexType name="chkDataType">
<sequence>
<element name="cd" type="contact:checkType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="checkType">
<sequence>
<element name="id" type="contact:checkIDType"/>
<element name="reason" type="eppcom:reasonType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="checkIDType">
<simpleContent>
<extension base="eppcom:clIDType">
<attribute name="avail" type="boolean"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
<create> response elements.
-->
<complexType name="creDataType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="crDate" type="dateTime"/>
</sequence>
</complexType>
<!--
<info> response elements.
-->
<complexType name="infDataType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="roid" type="eppcom:roidType"/>
<element name="status" type="contact:statusType"
maxOccurs="7"/>
<element name="postalInfo" type="contact:postalInfoType"
maxOccurs="2"/>
<element name="voice" type="contact:e164Type"
minOccurs="0"/>
<element name="fax" type="contact:e164Type"
minOccurs="0"/>
<element name="email" type="eppcom:minTokenType"/>
<element name="clID" type="eppcom:clIDType"/>
<element name="crID" type="eppcom:clIDType"/>
<element name="crDate" type="dateTime"/>
<element name="upID" type="eppcom:clIDType"
minOccurs="0"/>
<element name="upDate" type="dateTime"
minOccurs="0"/>
<element name="trDate" type="dateTime"
minOccurs="0"/>
<element name="authInfo" type="contact:authInfoType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Status is a combination of attributes and an optional human-readable
message that may be expressed in languages other than English.
-->
<complexType name="statusType">
<simpleContent>
<extension base="normalizedString">
<attribute name="s" type="contact:statusValueType"
use="required"/>
<attribute name="lang" type="language"
default="en"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="statusValueType">
<restriction base="token">
<enumeration value="clientDeleteProhibited"/>
<enumeration value="clientTransferProhibited"/>
<enumeration value="clientUpdateProhibited"/>
<enumeration value="linked"/>
<enumeration value="ok"/>
<enumeration value="pendingCreate"/>
<enumeration value="pendingDelete"/>
<enumeration value="pendingTransfer"/>
<enumeration value="pendingUpdate"/>
<enumeration value="serverDeleteProhibited"/>
<enumeration value="serverTransferProhibited"/>
<enumeration value="serverUpdateProhibited"/>
</restriction>
</simpleType>
<!--
Pending action notification response elements.
-->
<complexType name="panDataType">
<sequence>
<element name="id" type="contact:paCLIDType"/>
<element name="paTRID" type="epp:trIDType"/>
<element name="paDate" type="dateTime"/>
</sequence>
</complexType>
<complexType name="paCLIDType">
<simpleContent>
<extension base="eppcom:clIDType">
<attribute name="paResult" type="boolean"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
<transfer> response elements.
-->
<complexType name="trnDataType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="trStatus" type="eppcom:trStatusType"/>
<element name="reID" type="eppcom:clIDType"/>
<element name="reDate" type="dateTime"/>
<element name="acID" type="eppcom:clIDType"/>
<element name="acDate" type="dateTime"/>
</sequence>
</complexType>
<!--
End of schema.
-->
</schema>

View file

@ -15,7 +15,6 @@
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="doc/schemas/host-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="doc/schemas/host-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1" schemaLocation="doc/schemas/secDNS-1.1.xsd"/> <import namespace="urn:ietf:params:xml:ns:secDNS-1.1" schemaLocation="doc/schemas/secDNS-1.1.xsd"/>
<import namespace="urn:ietf:params:xml:ns:eis-1.0" schemaLocation="doc/schemas/eis-1.0.xsd"/>
<annotation> <annotation>
<documentation> <documentation>

View file

@ -0,0 +1,451 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!--
Import common element types.
-->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="doc/schemas/eppcom-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="doc/schemas/host-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1" schemaLocation="doc/schemas/secDNS-1.1.xsd"/>
<import namespace="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" schemaLocation="doc/schemas/eis-1.0.xsd"/>
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0
domain provisioning schema.
</documentation>
</annotation>
<!--
Child elements found in EPP commands.
-->
<element name="check" type="domain:mNameType"/>
<element name="create" type="domain:createType"/>
<element name="delete" type="domain:sNameType"/>
<element name="info" type="domain:infoType"/>
<element name="renew" type="domain:renewType"/>
<element name="transfer" type="domain:transferType"/>
<element name="update" type="domain:updateType"/>
<!--
Child elements of the <create> command.
-->
<complexType name="createType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="period" type="domain:periodType"
minOccurs="0"/>
<element name="ns" type="domain:nsType"
minOccurs="0"/>
<element name="registrant" type="eppcom:clIDType"
minOccurs="0"/>
<element name="contact" type="domain:contactType"
minOccurs="0" maxOccurs="unbounded"/>
<element name="authInfo" type="domain:authInfoType" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="periodType">
<simpleContent>
<extension base="domain:pLimitType">
<attribute name="unit" type="domain:pUnitType"
use="required"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="pLimitType">
<restriction base="unsignedShort">
<minInclusive value="1"/>
<maxInclusive value="1095"/>
</restriction>
</simpleType>
<simpleType name="pUnitType">
<restriction base="token">
<enumeration value="y"/>
<enumeration value="m"/>
<enumeration value="d"/>
</restriction>
</simpleType>
<complexType name="nsType">
<choice>
<element name="hostObj" type="eppcom:labelType"
maxOccurs="unbounded"/>
<element name="hostAttr" type="domain:hostAttrType"
maxOccurs="unbounded"/>
</choice>
</complexType>
<!--
Name servers are either host objects or attributes.
-->
<complexType name="hostAttrType">
<sequence>
<element name="hostName" type="eppcom:labelType"/>
<element name="hostAddr" type="host:addrType"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<!--
If attributes, addresses are optional and follow the
structure defined in the host mapping.
-->
<complexType name="contactType">
<simpleContent>
<extension base="eppcom:clIDType">
<attribute name="type" type="domain:contactAttrType"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="contactAttrType">
<restriction base="token">
<enumeration value="admin"/>
<enumeration value="billing"/>
<enumeration value="tech"/>
</restriction>
</simpleType>
<complexType name="authInfoType">
<choice>
<element name="pw" type="eppcom:pwAuthInfoType"/>
<element name="ext" type="eppcom:extAuthInfoType"/>
</choice>
</complexType>
<!--
Child element of commands that require a single name.
-->
<complexType name="sNameType">
<sequence>
<element name="name" type="eppcom:labelType"/>
</sequence>
</complexType>
<!--
Child element of commands that accept multiple names.
-->
<complexType name="mNameType">
<sequence>
<element name="name" type="eppcom:labelType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<!--
Child elements of the <info> command.
-->
<complexType name="infoType">
<sequence>
<element name="name" type="domain:infoNameType"/>
<element name="authInfo" type="domain:authInfoType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="infoNameType">
<simpleContent>
<extension base = "eppcom:labelType">
<attribute name="hosts" type="domain:hostsType"
default="all"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="hostsType">
<restriction base="token">
<enumeration value="all"/>
<enumeration value="del"/>
<enumeration value="none"/>
<enumeration value="sub"/>
</restriction>
</simpleType>
<!--
Child elements of the <renew> command.
-->
<complexType name="renewType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="curExpDate" type="date"/>
<element name="period" type="domain:periodType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Child elements of the <transfer> command.
-->
<complexType name="transferType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="period" type="domain:periodType"
minOccurs="0"/>
<element name="authInfo" type="domain:authInfoType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Child elements of the <update> command.
-->
<complexType name="updateType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="add" type="domain:addRemType"
minOccurs="0"/>
<element name="rem" type="domain:addRemType"
minOccurs="0"/>
<element name="chg" type="domain:chgType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Data elements that can be added or removed.
-->
<complexType name="addRemType">
<sequence>
<element name="ns" type="domain:nsType"
minOccurs="0"/>
<element name="contact" type="domain:contactType"
minOccurs="0" maxOccurs="unbounded"/>
<element name="status" type="domain:statusType"
minOccurs="0" maxOccurs="11"/>
</sequence>
</complexType>
<!--
Data elements that can be changed.
-->
<complexType name="chgType">
<sequence>
<element name="registrant" type="domain:clIDChgType"
minOccurs="0"/>
<element name="authInfo" type="domain:authInfoChgType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Allow the registrant value to be nullified by changing the
minLength restriction to "0".
-->
<complexType name="clIDChgType">
<simpleContent>
<extension base="domain:clIDChgSimpleType">
<attribute name="verified" type="domain:verifiedType"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="clIDChgSimpleType">
<restriction base="token">
<minLength value="0"/>
</restriction>
</simpleType>
<simpleType name="verifiedType">
<restriction base="token">
<enumeration value="yes"/>
<enumeration value="no"/>
</restriction>
</simpleType>
<!--
Allow the authInfo value to be nullified by including an
empty element within the choice.
-->
<complexType name="authInfoChgType">
<choice>
<element name="pw" type="eppcom:pwAuthInfoType"/>
<element name="ext" type="eppcom:extAuthInfoType"/>
<element name="null"/>
</choice>
</complexType>
<!--
Child response elements.
-->
<element name="chkData" type="domain:chkDataType"/>
<element name="creData" type="domain:creDataType"/>
<element name="infData" type="domain:infDataType"/>
<element name="panData" type="domain:panDataType"/>
<element name="renData" type="domain:renDataType"/>
<element name="trnData" type="domain:trnDataType"/>
<!--
<check> response elements.
-->
<complexType name="chkDataType">
<sequence>
<element name="cd" type="domain:checkType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="checkType">
<sequence>
<element name="name" type="domain:checkNameType"/>
<element name="reason" type="eppcom:reasonType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="checkNameType">
<simpleContent>
<extension base="eppcom:labelType">
<attribute name="avail" type="boolean"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
<create> response elements.
-->
<complexType name="creDataType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="crDate" type="dateTime"/>
<element name="exDate" type="dateTime"
minOccurs="0"/>
</sequence>
</complexType>
<!--
<info> response elements.
-->
<complexType name="infDataType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="roid" type="eppcom:roidType"/>
<element name="status" type="domain:statusType"
minOccurs="0" maxOccurs="11"/>
<element name="registrant" type="eppcom:clIDType"
minOccurs="0"/>
<element name="contact" type="domain:contactType"
minOccurs="0" maxOccurs="unbounded"/>
<element name="ns" type="domain:nsType"
minOccurs="0"/>
<element name="host" type="eppcom:labelType"
minOccurs="0" maxOccurs="unbounded"/>
<element name="clID" type="eppcom:clIDType"/>
<element name="crID" type="eppcom:clIDType"
minOccurs="0"/>
<element name="crDate" type="dateTime"
minOccurs="0"/>
<element name="upID" type="eppcom:clIDType"
minOccurs="0"/>
<element name="upDate" type="dateTime"
minOccurs="0"/>
<element name="exDate" type="dateTime"
minOccurs="0"/>
<element name="trDate" type="dateTime"
minOccurs="0"/>
<element name="authInfo" type="domain:authInfoType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Status is a combination of attributes and an optional
human-readable message that may be expressed in languages other
than English.
-->
<complexType name="statusType">
<simpleContent>
<extension base="normalizedString">
<attribute name="s" type="domain:statusValueType"
use="required"/>
<attribute name="lang" type="language"
default="en"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="statusValueType">
<restriction base="token">
<enumeration value="clientDeleteProhibited"/>
<enumeration value="clientHold"/>
<enumeration value="clientRenewProhibited"/>
<enumeration value="clientTransferProhibited"/>
<enumeration value="clientUpdateProhibited"/>
<enumeration value="inactive"/>
<enumeration value="ok"/>
<enumeration value="pendingCreate"/>
<enumeration value="pendingDelete"/>
<enumeration value="pendingRenew"/>
<enumeration value="pendingTransfer"/>
<enumeration value="pendingUpdate"/>
<enumeration value="serverDeleteProhibited"/>
<enumeration value="serverHold"/>
<enumeration value="serverRenewProhibited"/>
<enumeration value="serverTransferProhibited"/>
<enumeration value="serverUpdateProhibited"/>
</restriction>
</simpleType>
<!--
Pending action notification response elements.
-->
<complexType name="panDataType">
<sequence>
<element name="name" type="domain:paNameType"/>
<element name="paTRID" type="epp:trIDType"/>
<element name="paDate" type="dateTime"/>
</sequence>
</complexType>
<complexType name="paNameType">
<simpleContent>
<extension base="eppcom:labelType">
<attribute name="paResult" type="boolean"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
<renew> response elements.
-->
<complexType name="renDataType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="exDate" type="dateTime"
minOccurs="0"/>
</sequence>
</complexType>
<!--
<transfer> response elements.
-->
<complexType name="trnDataType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<element name="trStatus" type="eppcom:trStatusType"/>
<element name="reID" type="eppcom:clIDType"/>
<element name="reDate" type="dateTime"/>
<element name="acID" type="eppcom:clIDType"/>
<element name="acDate" type="dateTime"/>
<element name="exDate" type="dateTime"
minOccurs="0"/>
</sequence>
</complexType>
<!--
End of schema.
-->
</schema>

View file

@ -1,39 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<schema <schema
targetNamespace="urn:ee:eis:xml:epp:eis-1.0" targetNamespace="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
xmlns:eis="urn:ee:eis:xml:epp:eis-1.0" xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<annotation> <annotation>
<documentation> <documentation>
EIS Extensible Provisioning Protocol v1.0 EIS Extensible Provisioning Protocol v1.0 extension schema.
extension schema.
</documentation> </documentation>
</annotation> </annotation>
<!-- <!--
Child elements found in EPP commands. Child elements found in EPP commands.
--> -->
<element name="extdata" type="eis:legalDocAndIdentType"/> <element name="extdata" type="eis:legalDocAndIdentType"/>
<!-- <!--
Child elements supporting either the Child elements supporting ident and legal documents.
dsData or the keyData interface. -->
-->
<complexType name="legalDocAndIdentType"> <complexType name="legalDocAndIdentType">
<sequence> <sequence>
<element name="legalDocument" type="eis:legalDocType" <element name="ident" type="eis:identType" minOccurs="0" maxOccurs="1"/>
minOccurs="0" maxOccurs="1"/> <element name="legalDocument" type="eis:legalDocType" minOccurs="0" maxOccurs="1"/>
<element name="ident" type="eis:identType"
minOccurs="0" maxOccurs="1"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Child elements of extdata Child elements of extdata
--> -->
<!--
Legal document, encoded in base64
-->
<complexType name="legalDocType"> <complexType name="legalDocType">
<simpleContent> <simpleContent>
<extension base="base64Binary"> <extension base="base64Binary">
@ -55,6 +55,9 @@
</restriction> </restriction>
</simpleType> </simpleType>
<!--
Ident with type and country code
-->
<complexType name="identType"> <complexType name="identType">
<simpleContent> <simpleContent>
<extension base="normalizedString"> <extension base="normalizedString">
@ -66,10 +69,9 @@
<simpleType name="identEnumType"> <simpleType name="identEnumType">
<restriction base="token"> <restriction base="token">
<enumeration value="pic"/> <enumeration value="bic"/>
<enumeration value="priv"/> <enumeration value="priv"/>
<enumeration value="birthday"/> <enumeration value="birthday"/>
<enumeration value="passport"/>
</restriction> </restriction>
</simpleType> </simpleType>

View file

@ -13,7 +13,7 @@ namespace :zonefile do
ret text; ret text;
BEGIN BEGIN
-- define filters -- define filters
include_filter = '%' || i_origin; include_filter = '%.' || i_origin;
-- for %.%.% -- for %.%.%
IF i_origin ~ '\\.' THEN IF i_origin ~ '\\.' THEN

View file

@ -2,7 +2,7 @@ require 'rails_helper'
describe 'EPP Contact', epp: true do describe 'EPP Contact', epp: true do
before :all do before :all do
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/contact-1.0.xsd')) @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/contact-eis-1.0.xsd'))
@registrar1 = Fabricate(:registrar1) @registrar1 = Fabricate(:registrar1)
@registrar2 = Fabricate(:registrar2) @registrar2 = Fabricate(:registrar2)
@epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345') @epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345')
@ -15,13 +15,13 @@ describe 'EPP Contact', epp: true do
@contact = Fabricate(:contact, registrar: @registrar1) @contact = Fabricate(:contact, registrar: @registrar1)
@extension = { @extension = {
legalDocument: {
value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
},
ident: { ident: {
value: '37605030299', value: '37605030299',
attrs: { type: 'priv', cc: 'EE' } attrs: { type: 'priv', cc: 'EE' }
},
legalDocument: {
value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
} }
} }
@update_extension = { @update_extension = {
@ -112,13 +112,13 @@ describe 'EPP Contact', epp: true do
it 'successfully saves ident type with legal document' do it 'successfully saves ident type with legal document' do
extension = { extension = {
legalDocument: {
value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
},
ident: { ident: {
value: '1990-22-12', value: '1990-22-12',
attrs: { type: 'birthday', cc: 'US' } attrs: { type: 'birthday', cc: 'US' }
},
legalDocument: {
value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
} }
} }
response = create_request({}, extension) response = create_request({}, extension)
@ -402,13 +402,13 @@ describe 'EPP Contact', epp: true do
it 'should not be able to update ident' do it 'should not be able to update ident' do
extension = { extension = {
legalDocument: {
value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
},
ident: { ident: {
value: '1990-22-12', value: '1990-22-12',
attrs: { type: 'birthday', cc: 'US' } attrs: { type: 'birthday', cc: 'US' }
},
legalDocument: {
value: 'dGVzdCBmYWlsCg==',
attrs: { type: 'pdf' }
} }
} }
response = update_request({ id: { value: 'FIRST0:SH8013' } }, extension) response = update_request({ id: { value: 'FIRST0:SH8013' } }, extension)

View file

@ -2,7 +2,7 @@ require 'rails_helper'
describe 'EPP Domain', epp: true do describe 'EPP Domain', epp: true do
before(:all) do before(:all) do
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-1.0.xsd')) @xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-eis-1.0.xsd'))
@epp_xml = EppXml.new(cl_trid: 'ABC-12345') @epp_xml = EppXml.new(cl_trid: 'ABC-12345')
@registrar1 = Fabricate(:registrar1, code: 'REGDOMAIN1') @registrar1 = Fabricate(:registrar1, code: 'REGDOMAIN1')
@registrar2 = Fabricate(:registrar2, code: 'REGDOMAIN2') @registrar2 = Fabricate(:registrar2, code: 'REGDOMAIN2')

View file

@ -24,7 +24,7 @@ describe ZonefileSetting do
master_nameserver: 'ns.tld.ee' master_nameserver: 'ns.tld.ee'
}).first_or_create! }).first_or_create!
d = Fabricate(:domain_with_dnskeys) d = Fabricate(:domain_with_dnskeys, name: 'testpri.ee')
d.nameservers << Nameserver.new({ d.nameservers << Nameserver.new({
hostname: "ns.#{d.name}", hostname: "ns.#{d.name}",
ipv4: '123.123.123.123', ipv4: '123.123.123.123',