From e85d2f52d22af13f1f1c18d4f8df83fe48ec70c6 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Thu, 26 Nov 2015 16:04:19 +0200 Subject: [PATCH 01/27] Story#108553816 add ident to the contacts json output --- app/api/repp/domain_v1.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/repp/domain_v1.rb b/app/api/repp/domain_v1.rb index 859cb14da..7b4a02004 100644 --- a/app/api/repp/domain_v1.rb +++ b/app/api/repp/domain_v1.rb @@ -35,7 +35,7 @@ module Repp error! I18n.t('errors.messages.epp_authorization_error'), 401 unless domain.auth_info.eql? request.headers['Auth-Code'] contact_repp_json = proc{|contact| - contact.attributes.slice("code", "ident_type", "ident_country_code", "phone", "email", "street", "city", "zip","country_code", "statuses") + contact.attributes.slice("code", "ident", "ident_type", "ident_country_code", "phone", "email", "street", "city", "zip","country_code", "statuses") } @response = { From 72c895db993ed5d9809db7ed459ef87afc0bedae Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Thu, 26 Nov 2015 17:20:39 +0200 Subject: [PATCH 02/27] Story#108553816 add name to the contacts json output --- app/api/repp/domain_v1.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/repp/domain_v1.rb b/app/api/repp/domain_v1.rb index 7b4a02004..9275e611f 100644 --- a/app/api/repp/domain_v1.rb +++ b/app/api/repp/domain_v1.rb @@ -35,7 +35,7 @@ module Repp error! I18n.t('errors.messages.epp_authorization_error'), 401 unless domain.auth_info.eql? request.headers['Auth-Code'] contact_repp_json = proc{|contact| - contact.attributes.slice("code", "ident", "ident_type", "ident_country_code", "phone", "email", "street", "city", "zip","country_code", "statuses") + contact.attributes.slice("code", "name", "ident", "ident_type", "ident_country_code", "phone", "email", "street", "city", "zip","country_code", "statuses") } @response = { From 76e2152cce558255541a2b4d1ac67a1cb848da2e Mon Sep 17 00:00:00 2001 From: Stas Date: Thu, 26 Nov 2015 18:28:23 +0200 Subject: [PATCH 03/27] 108963480-validation_for_contact --- app/models/contact.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/models/contact.rb b/app/models/contact.rb index 20c11ae80..08bfe9446 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -30,6 +30,7 @@ class Contact < ActiveRecord::Base length: { maximum: 100, message: :too_long_contact_code } validate :ident_valid_format? validate :uniq_statuses? + validate :validate_html after_initialize do self.statuses = [] if statuses.nil? @@ -221,6 +222,17 @@ class Contact < ActiveRecord::Base end end + def validate_html + self.class.columns.each do |column| + next unless column.type == :string + + c_name = column.name + val = read_atribute(c_name) + errors.add(c_name, :invalid) if val.include?('<') || val.include?('>') || val.include?('%3C') || val.include?('%3E') + return + end + end + def uniq_statuses? return true unless statuses.detect { |s| statuses.count(s) > 1 } errors.add(:statuses, :not_uniq) From e409cde9b4fcc873a55baff0611885034e6d77f4 Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Thu, 26 Nov 2015 18:57:16 +0200 Subject: [PATCH 04/27] repair bad merge, recover missing code commmit --- app/models/epp/domain.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index afdc8e085..80db986ce 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -515,9 +515,8 @@ class Epp::Domain < Domain statuses.delete(DomainStatus::PENDING_DELETE_CONFIRMATION) statuses.delete(DomainStatus::PENDING_DELETE) DomainMailer.delete_confirmation(id, deliver_emails).deliver - - # TODO: confirm that this actually makes sense - clean_pendings! if valid? && set_pending_delete! + clean_pendings! + set_pending_delete! true end From 00b702b06fbd0ffa4dc44c634f2db49194e45411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Thu, 26 Nov 2015 18:58:40 +0200 Subject: [PATCH 05/27] Update eis-1.0.xsd removed requirement of cc attribute with ident - controlled by EPP server policy --- doc/schemas/eis-1.0.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/schemas/eis-1.0.xsd b/doc/schemas/eis-1.0.xsd index 8093c832d..0b2ad8f89 100644 --- a/doc/schemas/eis-1.0.xsd +++ b/doc/schemas/eis-1.0.xsd @@ -83,7 +83,7 @@ - + From 8b710dda842f7401690c11d9ceebeb4f437e1254 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Thu, 26 Nov 2015 21:52:40 +0200 Subject: [PATCH 06/27] Story#no_code fix route --- app/controllers/admin/pending_updates_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/admin/pending_updates_controller.rb b/app/controllers/admin/pending_updates_controller.rb index 960b65ee5..4d08297d7 100644 --- a/app/controllers/admin/pending_updates_controller.rb +++ b/app/controllers/admin/pending_updates_controller.rb @@ -9,7 +9,7 @@ class Admin::PendingUpdatesController < AdminController if @epp_domain.apply_pending_update! redirect_to admin_domain_path(@domain.id), notice: t(:pending_applied) else - redirect_to admin_edit_domain_path(@domain.id), alert: t(:failure) + redirect_to edit_admin_domain_path(@domain.id), alert: t(:failure) end end From be0a3332a8443522e94cf166c3e27045a37c79cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Thu, 26 Nov 2015 23:15:47 +0200 Subject: [PATCH 07/27] Update domain.md added missing contact details to transfer_info response --- doc/repp/v1/domain.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/repp/v1/domain.md b/doc/repp/v1/domain.md index fc417b47f..319713660 100644 --- a/doc/repp/v1/domain.md +++ b/doc/repp/v1/domain.md @@ -131,6 +131,8 @@ Content-Type: application/json "domain":"ee-test.ee", "registrant":{ "code":"EE:R1", + "name":"Registrant", + "ident":"17612535", "ident_type":"org", "ident_country_code":"EE", "phone":"+372.1234567", @@ -147,6 +149,8 @@ Content-Type: application/json "admin_contacts":[ { "code":"EE:A1", + "name":"Admin Contact", + "ident":"17612535376", "ident_type":"priv", "ident_country_code":"EE", "phone":"+372.7654321", @@ -164,6 +168,8 @@ Content-Type: application/json "tech_contacts":[ { "code":"EE:T1", + "name":"Tech Contact", + "ident":"17612536", "ident_type":"org", "ident_country_code":"EE", "phone":"+372.7654321", From 40e3ca2cb7e8fed851221be61f6c2bac85a9a9ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Fri, 27 Nov 2015 02:35:06 +0200 Subject: [PATCH 08/27] Update all-ee-1.0.xsd typo fix for secDNS --- doc/schemas/all-ee-1.0.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/schemas/all-ee-1.0.xsd b/doc/schemas/all-ee-1.0.xsd index bd4aeba0c..198a55a92 100644 --- a/doc/schemas/all-ee-1.0.xsd +++ b/doc/schemas/all-ee-1.0.xsd @@ -22,7 +22,7 @@ schemaLocation="epp-1.0.xsd"/> + schemaLocation="secDNS-1.1.xsd"/> From 3222480b49d52cf84bfc1f37d5fdc06733d764ca Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Thu, 26 Nov 2015 14:52:40 +0200 Subject: [PATCH 09/27] Story#109040558/no_code fix route (cherry picked from commit 8b710dd) --- app/controllers/admin/pending_updates_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/admin/pending_updates_controller.rb b/app/controllers/admin/pending_updates_controller.rb index 960b65ee5..4d08297d7 100644 --- a/app/controllers/admin/pending_updates_controller.rb +++ b/app/controllers/admin/pending_updates_controller.rb @@ -9,7 +9,7 @@ class Admin::PendingUpdatesController < AdminController if @epp_domain.apply_pending_update! redirect_to admin_domain_path(@domain.id), notice: t(:pending_applied) else - redirect_to admin_edit_domain_path(@domain.id), alert: t(:failure) + redirect_to edit_admin_domain_path(@domain.id), alert: t(:failure) end end From f7274bbb2b8661f7a6a154aa44ad339128b34e2d Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Fri, 27 Nov 2015 08:36:42 +0200 Subject: [PATCH 10/27] Story#109040558 - new_registrant_id doesn't have array, but int --- app/models/domain.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/domain.rb b/app/models/domain.rb index 48188065e..bba0c5ba9 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -590,7 +590,7 @@ class Domain < ActiveRecord::Base def pending_registrant return '' if pending_json.blank? return '' if pending_json['new_registrant_id'].blank? - Registrant.find_by(id: pending_json['new_registrant_id'].last) + Registrant.find_by(id: pending_json['new_registrant_id']) end def generate_auth_info From 9e9dbc813c13216b8fc2e2ac00286280ff5a72dc Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Fri, 27 Nov 2015 10:50:52 +0200 Subject: [PATCH 11/27] Story#109014746 - save only ident_country_code through EPP --- app/models/epp/contact.rb | 49 +++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/app/models/epp/contact.rb b/app/models/epp/contact.rb index 57bf9192a..435a63dee 100644 --- a/app/models/epp/contact.rb +++ b/app/models/epp/contact.rb @@ -21,7 +21,7 @@ class Epp::Contact < Contact # rubocop: disable Metrics/PerceivedComplexity # rubocop: disable Metrics/CyclomaticComplexity # rubocop: disable Metrics/AbcSize - def attrs_from(frame) + def attrs_from(frame, new_record: false) f = frame at = {}.with_indifferent_access at[:name] = f.css('postalInfo name').text if f.css('postalInfo name').present? @@ -40,7 +40,7 @@ class Epp::Contact < Contact if legal_frame.present? at[:legal_documents_attributes] = legal_document_attrs(legal_frame) end - at.merge!(ident_attrs(f.css('ident').first)) + at.merge!(ident_attrs(f.css('ident').first)) if new_record at end # rubocop: enable Metrics/PerceivedComplexity @@ -51,7 +51,7 @@ class Epp::Contact < Contact return super if frame.blank? super( - attrs_from(frame).merge( + attrs_from(frame, new_record: true).merge( code: frame.css('id').text, registrar: registrar ) @@ -59,10 +59,7 @@ class Epp::Contact < Contact end def ident_attrs(ident_frame) - return {} if ident_frame.blank? - return {} if ident_frame.try('text').blank? - return {} if ident_frame.attr('type').blank? - return {} if ident_frame.attr('cc').blank? + return {} unless ident_attr_valid?(ident_frame) { ident: ident_frame.text, @@ -71,6 +68,15 @@ class Epp::Contact < Contact } end + def ident_attr_valid?(ident_frame) + return false if ident_frame.blank? + return false if ident_frame.try('text').blank? + return false if ident_frame.attr('type').blank? + return false if ident_frame.attr('cc').blank? + + true + end + def legal_document_attrs(legal_frame) return [] if legal_frame.blank? return [] if legal_frame.try('text').blank? @@ -137,7 +143,7 @@ class Epp::Contact < Contact def update_attributes(frame) return super if frame.blank? at = {}.with_indifferent_access - at.deep_merge!(self.class.attrs_from(frame.css('chg'))) + at.deep_merge!(self.class.attrs_from(frame.css('chg'), new_record: false)) if Setting.client_status_editing_enabled at[:statuses] = statuses - statuses_attrs(frame.css('rem'), 'rem') + statuses_attrs(frame.css('add'), 'add') @@ -147,17 +153,26 @@ class Epp::Contact < Contact at[:legal_documents_attributes] = self.class.legal_document_attrs(legal_frame) self.deliver_emails = true # turn on email delivery for epp + # allow to update ident code for legacy contacts - if frame.css('ident').first.present? - if ident_updated_at.present? - throw :epp_error, { - code: '2306', - msg: I18n.t(:ident_update_error) - } - else - at.merge!(self.class.ident_attrs(frame.css('ident').first)) - self.ident_updated_at = Time.zone.now + if frame.css('ident').first + self.ident_updated_at ||= Time.zone.now # not in use + ident_frame = frame.css('ident').first + + if ident_frame && ident_attr_valid?(ident_frame) && ident_country_code.blank? && ident_type.in?(%w(org priv).freeze) + at.merge!(ident_country_code: ident_frame.attr('cc')) end + + # Deprecated + # if ident_updated_at.present? + # throw :epp_error, { + # code: '2306', + # msg: I18n.t(:ident_update_error) + # } + # else + # at.merge!(self.class.ident_attrs(frame.css('ident').first)) + # self.ident_updated_at = Time.zone.now + # end end super(at) From 3bc47e1d993c824441da33d11d27ee5a056f659e Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Fri, 27 Nov 2015 11:05:05 +0200 Subject: [PATCH 12/27] Story#109057934 - Admin::DomainVersions controller shouldn't go to EPP once again --- app/controllers/admin/domain_versions_controller.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 3af20bfb0..44a2087cd 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -6,12 +6,13 @@ class Admin::DomainVersionsController < AdminController @domain = Domain.where(id: params[:domain_id]).includes({versions: :item}).first @versions = @domain.versions - if @domain.pending_json.present? - frame = Nokogiri::XML(@domain.pending_json['frame']) - @pending_user = User.find(@domain.pending_json['current_user_id']) - @pending_domain = Epp::Domain.find(@domain.id) - @pending_domain.update(frame, @pending_user, false) - end + # Depricated it had to load legal document. We may do it by parsing and adding link. + # if @domain.pending_json.present? + # frame = Nokogiri::XML(@domain.pending_json['frame']) + # @pending_user = User.find(@domain.pending_json['current_user_id']) + # @pending_domain = Epp::Domain.find(@domain.id) + # @pending_domain.update(frame, @pending_user, false) + # end end # rubocop:enable Style/GuardClause end From 813fa8cf752d4ea2238f7ff0729e40a78fbc3ec5 Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Fri, 27 Nov 2015 11:19:43 +0200 Subject: [PATCH 13/27] Story #108848454 - add one space to formatted output --- ...20151127091716_restore_ttl_to_zonefile2.rb | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 db/migrate/20151127091716_restore_ttl_to_zonefile2.rb diff --git a/db/migrate/20151127091716_restore_ttl_to_zonefile2.rb b/db/migrate/20151127091716_restore_ttl_to_zonefile2.rb new file mode 100644 index 000000000..185b24640 --- /dev/null +++ b/db/migrate/20151127091716_restore_ttl_to_zonefile2.rb @@ -0,0 +1,168 @@ +class RestoreTtlToZonefile < ActiveRecord::Migration + # rubocop:disable Metrics/MethodLength + def up + execute <<-SQL + CREATE OR REPLACE FUNCTION generate_zonefile(i_origin varchar) + RETURNS text AS $$ + DECLARE + zone_header text := concat('$ORIGIN ', i_origin, '.'); + serial_num varchar; + include_filter varchar := ''; + exclude_filter varchar := ''; + tmp_var text; + ret text; + BEGIN + -- define filters + include_filter = '%' || i_origin; + + -- for %.%.% + IF i_origin ~ '\\.' THEN + exclude_filter := ''; + -- for %.% + ELSE + exclude_filter := '%.%.' || i_origin; + END IF; + + SELECT ROUND(extract(epoch from now() at time zone 'utc')) INTO serial_num; + + -- zonefile header + SELECT concat( + format('%-10s', '$ORIGIN .'), chr(10), + format('%-10s', '$TTL'), zf.ttl, chr(10), chr(10), + format('%-10s', i_origin || '.'), 'IN SOA ', zf.master_nameserver, '. ', zf.email, '. (', chr(10), + format('%-17s', ''), format('%-12s', serial_num), '; serial number', chr(10), + format('%-17s', ''), format('%-12s', zf.refresh), '; refresh, seconds', chr(10), + format('%-17s', ''), format('%-12s', zf.retry), '; retry, seconds', chr(10), + format('%-17s', ''), format('%-12s', zf.expire), '; expire, seconds', chr(10), + format('%-17s', ''), format('%-12s', zf.minimum_ttl), '; minimum TTL, seconds', chr(10), + format('%-17s', ''), ')' + ) FROM zonefile_settings zf WHERE i_origin = zf.origin INTO tmp_var; + + ret = concat(tmp_var, chr(10), chr(10)); + + -- ns records + SELECT array_to_string( + array( + SELECT concat(d.name_puny, '. IN NS ', ns.hostname, '.') + FROM domains d + JOIN nameservers ns ON ns.domain_id = d.id + WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter + ORDER BY d.name + ), + chr(10) + ) INTO tmp_var; + + ret := concat(ret, '; Zone NS Records', chr(10), tmp_var, chr(10), chr(10)); + + -- a glue records for origin nameservers + SELECT array_to_string( + array( + SELECT concat(ns.hostname, '. IN A ', ns.ipv4) + FROM nameservers ns + JOIN domains d ON d.id = ns.domain_id + WHERE d.name = i_origin + AND ns.hostname LIKE '%.' || d.name + AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> '' + ), chr(10) + ) INTO tmp_var; + + ret := concat(ret, '; Zone A Records', chr(10), tmp_var); + + -- a glue records for other nameservers + SELECT array_to_string( + array( + SELECT concat(ns.hostname, '. IN A ', ns.ipv4) + FROM nameservers ns + JOIN domains d ON d.id = ns.domain_id + WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter + AND ns.hostname LIKE '%.' || d.name + AND d.name <> i_origin + AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> '' + AND NOT EXISTS ( -- filter out glue records that already appeared in origin glue recrods + SELECT 1 FROM nameservers nsi + JOIN domains di ON nsi.domain_id = di.id + WHERE di.name = i_origin + AND nsi.hostname = ns.hostname + ) + ), chr(10) + ) INTO tmp_var; + + -- TODO This is a possible subtitition to the previous query, stress testing is needed to see which is faster + + -- SELECT ns.* + -- FROM nameservers ns + -- JOIN domains d ON d.id = ns.domain_id + -- WHERE d.name LIKE '%ee' AND d.name NOT LIKE '%pri.ee' + -- AND ns.hostname LIKE '%.' || d.name + -- AND d.name <> 'ee' + -- AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> '' + -- AND ns.hostname NOT IN ( + -- SELECT ns.hostname FROM domains d JOIN nameservers ns ON d.id = ns.domain_id WHERE d.name = 'ee' + -- ) + + ret := concat(ret, chr(10), tmp_var, chr(10), chr(10)); + + -- aaaa glue records for origin nameservers + SELECT array_to_string( + array( + SELECT concat(ns.hostname, '. IN AAAA ', ns.ipv6) + FROM nameservers ns + JOIN domains d ON d.id = ns.domain_id + WHERE d.name = i_origin + AND ns.hostname LIKE '%.' || d.name + AND ns.ipv6 IS NOT NULL AND ns.ipv6 <> '' + ), chr(10) + ) INTO tmp_var; + + ret := concat(ret, '; Zone AAAA Records', chr(10), tmp_var); + + -- aaaa glue records for other nameservers + SELECT array_to_string( + array( + SELECT concat(ns.hostname, '. IN AAAA ', ns.ipv6) + FROM nameservers ns + JOIN domains d ON d.id = ns.domain_id + WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter + AND ns.hostname LIKE '%.' || d.name + AND d.name <> i_origin + AND ns.ipv6 IS NOT NULL AND ns.ipv6 <> '' + AND NOT EXISTS ( -- filter out glue records that already appeared in origin glue recrods + SELECT 1 FROM nameservers nsi + JOIN domains di ON nsi.domain_id = di.id + WHERE di.name = i_origin + AND nsi.hostname = ns.hostname + ) + ), chr(10) + ) INTO tmp_var; + + ret := concat(ret, chr(10), tmp_var, chr(10), chr(10)); + + -- ds records + SELECT array_to_string( + array( + SELECT concat( + d.name_puny, '. 3600 IN DS ', dk.ds_key_tag, ' ', + dk.ds_alg, ' ', dk.ds_digest_type, ' ', dk.ds_digest + ) + FROM domains d + JOIN dnskeys dk ON dk.domain_id = d.id + WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter + ), + chr(10) + ) INTO tmp_var; + + ret := concat(ret, '; Zone DS Records', chr(10), tmp_var, chr(10)); + + RETURN ret; + END; + $$ + LANGUAGE plpgsql; + SQL + end + + def down + execute <<-SQL + DROP FUNCTION generate_zonefile(i_origin varchar); + SQL + end +end From 7407f8eb629655705a8f9ad7796f78c959d445f2 Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Fri, 27 Nov 2015 11:38:21 +0200 Subject: [PATCH 14/27] Story #108848454 - update class name --- db/migrate/20151127091716_restore_ttl_to_zonefile2.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20151127091716_restore_ttl_to_zonefile2.rb b/db/migrate/20151127091716_restore_ttl_to_zonefile2.rb index 185b24640..7fbeaade2 100644 --- a/db/migrate/20151127091716_restore_ttl_to_zonefile2.rb +++ b/db/migrate/20151127091716_restore_ttl_to_zonefile2.rb @@ -1,4 +1,4 @@ -class RestoreTtlToZonefile < ActiveRecord::Migration +class RestoreTtlToZonefile2 < ActiveRecord::Migration # rubocop:disable Metrics/MethodLength def up execute <<-SQL From f83d5c8a93c025bad44764d4fb961ddac7e82bf2 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Fri, 27 Nov 2015 12:50:23 +0200 Subject: [PATCH 15/27] Story#109057934 - skip everywhere resaving legal document --- app/models/epp/domain.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index afdc8e085..528e188a0 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -843,6 +843,7 @@ class Epp::Domain < Domain def parse_legal_document_from_frame(parsed_frame) ld = parsed_frame.css('legalDocument').first return nil unless ld + return nil if ld.text.starts_with?(ENV['legal_documents_dir']) # escape reloading { body: ld.text, From 7c035ff6e51c2585680d60aff0de5e655eb05a0d Mon Sep 17 00:00:00 2001 From: Stas Date: Fri, 27 Nov 2015 13:13:59 +0200 Subject: [PATCH 16/27] fix typo --- app/models/contact.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/contact.rb b/app/models/contact.rb index 08bfe9446..c034c921a 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -227,7 +227,7 @@ class Contact < ActiveRecord::Base next unless column.type == :string c_name = column.name - val = read_atribute(c_name) + val = read_attribute(c_name) errors.add(c_name, :invalid) if val.include?('<') || val.include?('>') || val.include?('%3C') || val.include?('%3E') return end From 2dfb1e50b0fff9c2c6bb213f53416ff1b104d79c Mon Sep 17 00:00:00 2001 From: Stas Date: Fri, 27 Nov 2015 13:28:51 +0200 Subject: [PATCH 17/27] 108963480-changed_construction --- app/models/contact.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/models/contact.rb b/app/models/contact.rb index 08bfe9446..5181d722f 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -227,9 +227,11 @@ class Contact < ActiveRecord::Base next unless column.type == :string c_name = column.name - val = read_atribute(c_name) - errors.add(c_name, :invalid) if val.include?('<') || val.include?('>') || val.include?('%3C') || val.include?('%3E') - return + val = read_attribute(c_name) + if val && (val.include?('<') || val.include?('>') || val.include?('%3C') || val.include?('%3E')) + errors.add(c_name, :invalid) + return # want to run code faster + end end end From ff6a85c10d69eab4f1f1e325fac8597dc633c7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Fri, 27 Nov 2015 14:00:32 +0200 Subject: [PATCH 18/27] Added keyrelay standard schema for validating keyrelay requests Keyrealy is not yet implemented --- doc/schemas/all-ee-1.0.xsd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/schemas/all-ee-1.0.xsd b/doc/schemas/all-ee-1.0.xsd index 198a55a92..5ad285c98 100644 --- a/doc/schemas/all-ee-1.0.xsd +++ b/doc/schemas/all-ee-1.0.xsd @@ -23,6 +23,9 @@ + + From 0884b8c9aa4446c0a8779728a2cba127710503a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Fri, 27 Nov 2015 14:03:31 +0200 Subject: [PATCH 19/27] keyrelay schema --- doc/schemas/keyrelay-1.0.xsd | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 doc/schemas/keyrelay-1.0.xsd diff --git a/doc/schemas/keyrelay-1.0.xsd b/doc/schemas/keyrelay-1.0.xsd new file mode 100644 index 000000000..2239754e7 --- /dev/null +++ b/doc/schemas/keyrelay-1.0.xsd @@ -0,0 +1,63 @@ + + + + + + + Extensible Provisioning Protocol v1.0 protocol + extension schema for relaying DNSSEC key material. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 0431543f774ddd67e62f79513b410ece50dc779f Mon Sep 17 00:00:00 2001 From: Stas Date: Fri, 27 Nov 2015 15:00:16 +0200 Subject: [PATCH 20/27] 109012608-ip-split --- lib/tasks/import.rake | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index de9c17a44..053836485 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -172,11 +172,15 @@ namespace :import do x.acl.all.each do |y| next if existing_ips.include?(y.ipaddr) if !y.ipaddr.nil? && y.ipaddr != '' - ips << WhiteIp.new({ - registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id), - ipv4: y.ipaddr, - interfaces: ['api', 'registrar'] - }) + + y.ipaddr.split(',').each do |ip| + ips << WhiteIp.new({ + registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id), + ipv4: ip, + interfaces: ['api', 'registrar'] + }) + + end end end end From 4c2c19c0925fb6db3b9d322b07d76960b59d955d Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Fri, 27 Nov 2015 16:41:14 +0200 Subject: [PATCH 21/27] Story #109066072 - merge changes from 108848454, insert TTL and remove parens in DS records --- lib/tasks/zonefile.rake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tasks/zonefile.rake b/lib/tasks/zonefile.rake index 510bb60c1..5cec28cc3 100644 --- a/lib/tasks/zonefile.rake +++ b/lib/tasks/zonefile.rake @@ -103,8 +103,8 @@ namespace :zonefile do SELECT array_to_string( array( SELECT concat( - d.name_puny, '. IN DS ', dk.ds_key_tag, ' ', - dk.ds_alg, ' ', dk.ds_digest_type, ' ( ', dk.ds_digest, ' )' + d.name_puny, '. 3600 IN DS ', dk.ds_key_tag, ' ', + dk.ds_alg, ' ', dk.ds_digest_type, ' ', dk.ds_digest ) FROM domains d JOIN dnskeys dk ON dk.domain_id = d.id From 65aca9c3b235d293d9eb888902392186da04a949 Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Fri, 27 Nov 2015 16:42:03 +0200 Subject: [PATCH 22/27] Story #109066072 - include procedure definition during db:import task --- lib/tasks/import.rake | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index de9c17a44..58e6f06a3 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -57,6 +57,7 @@ namespace :import do Rake::Task['import:reserved'].invoke Rake::Task['import:domains'].invoke Rake::Task['import:zones'].invoke + Rake::Task['zonefile:replace_procedure'].invoke end desc 'Import registrars' From e5654fbb201c09073f4e4ab8400e56484f33eb62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Fri, 27 Nov 2015 20:13:21 +0200 Subject: [PATCH 23/27] Added missing verified attribute for domain delete --- doc/schemas/domain-eis-1.0.xsd | 824 +++++++++++++++++---------------- 1 file changed, 418 insertions(+), 406 deletions(-) diff --git a/doc/schemas/domain-eis-1.0.xsd b/doc/schemas/domain-eis-1.0.xsd index 3fe1188ea..b38abf9d4 100644 --- a/doc/schemas/domain-eis-1.0.xsd +++ b/doc/schemas/domain-eis-1.0.xsd @@ -1,447 +1,458 @@ - + - - - - - - + + + + + + - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - + + + Extensible Provisioning Protocol v1.0 + domain provisioning schema. + + - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + - - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + + + - + + + + + + + + - - - - - - - + + + + + + + - - - - - + - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + - - - - - - - + + + + + + + + - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - - + + + + + + + - + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + - - - + + + + + + + + + + + - - + + - - - + + + @@ -450,9 +461,10 @@ - - - - + + + + + From 62a74ef27a2dfd902df8866ac8eb40b6bf19e8bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Mon, 30 Nov 2015 00:21:42 +0200 Subject: [PATCH 24/27] Synced schema files in doc with files actually used by the registry system --- lib/schemas/all-ee-1.0.xsd | 47 ++ lib/schemas/contact-1.0.xsd | 388 +++++++++++++++ lib/schemas/contact-eis-1.0.xsd | 6 +- lib/schemas/domain-1.0.xsd | 432 +++++++++++++++++ lib/schemas/domain-eis-1.0.xsd | 835 ++++++++++++++++---------------- lib/schemas/eis-1.0.xsd | 2 +- lib/schemas/epp-1.0.xsd | 805 +++++++++++++++--------------- lib/schemas/eppcom-1.0.xsd | 3 +- lib/schemas/host-1.0.xsd | 346 +++++++------ lib/schemas/keyrelay-1.0.xsd | 63 +++ lib/schemas/secDNS-1.1.xsd | 218 +++++---- 11 files changed, 2038 insertions(+), 1107 deletions(-) create mode 100644 lib/schemas/all-ee-1.0.xsd create mode 100644 lib/schemas/contact-1.0.xsd create mode 100644 lib/schemas/domain-1.0.xsd create mode 100644 lib/schemas/keyrelay-1.0.xsd diff --git a/lib/schemas/all-ee-1.0.xsd b/lib/schemas/all-ee-1.0.xsd new file mode 100644 index 000000000..5ad285c98 --- /dev/null +++ b/lib/schemas/all-ee-1.0.xsd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + all schema's grouped together + + + + diff --git a/lib/schemas/contact-1.0.xsd b/lib/schemas/contact-1.0.xsd new file mode 100644 index 000000000..9b4c244cd --- /dev/null +++ b/lib/schemas/contact-1.0.xsd @@ -0,0 +1,388 @@ + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + contact provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/schemas/contact-eis-1.0.xsd b/lib/schemas/contact-eis-1.0.xsd index ed0596c96..cec571cec 100644 --- a/lib/schemas/contact-eis-1.0.xsd +++ b/lib/schemas/contact-eis-1.0.xsd @@ -10,9 +10,9 @@ - - - + + + diff --git a/lib/schemas/domain-1.0.xsd b/lib/schemas/domain-1.0.xsd new file mode 100644 index 000000000..46859859e --- /dev/null +++ b/lib/schemas/domain-1.0.xsd @@ -0,0 +1,432 @@ + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + domain provisioning schema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/schemas/domain-eis-1.0.xsd b/lib/schemas/domain-eis-1.0.xsd index eb2b420da..b38abf9d4 100644 --- a/lib/schemas/domain-eis-1.0.xsd +++ b/lib/schemas/domain-eis-1.0.xsd @@ -1,460 +1,458 @@ - + - - - - - - + + + + + + - - - Extensible Provisioning Protocol v1.0 - domain provisioning schema. - - + + + Extensible Provisioning Protocol v1.0 + domain provisioning schema. + + - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - + + + + + + - minOccurs="0" maxOccurs="unbounded"/> - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + + - + + + + + + + - - - - - - - + - - - - - + + + + + + + - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - + + - - - + + + @@ -463,9 +461,10 @@ - - - - + + + + + diff --git a/lib/schemas/eis-1.0.xsd b/lib/schemas/eis-1.0.xsd index 8093c832d..0b2ad8f89 100644 --- a/lib/schemas/eis-1.0.xsd +++ b/lib/schemas/eis-1.0.xsd @@ -83,7 +83,7 @@ - + diff --git a/lib/schemas/epp-1.0.xsd b/lib/schemas/epp-1.0.xsd index 448b9ae25..3609ad55d 100644 --- a/lib/schemas/epp-1.0.xsd +++ b/lib/schemas/epp-1.0.xsd @@ -1,443 +1,446 @@ - + - - + - - - Extensible Provisioning Protocol v1.0 schema. - - + - - + + + Extensible Provisioning Protocol v1.0 schema. + + - - - - - - - - - - + + - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + - - - - - + + + + + + + + + - - - - - - + + + + + - - - - - - - - - + + + + + + - - - - - - + + + + + + + + + - - - - - - + + + + + + - - - - - + + + + + + - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + + - - - - - - + + + + + - - - - - - - + + + + + + - - - - - - - - - + + + + + + + - - - - - - + + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + + - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/schemas/eppcom-1.0.xsd b/lib/schemas/eppcom-1.0.xsd index 3d1c44e44..d6ef94b24 100644 --- a/lib/schemas/eppcom-1.0.xsd +++ b/lib/schemas/eppcom-1.0.xsd @@ -53,6 +53,7 @@ Abstract client and object identifier type. + @@ -101,4 +102,4 @@ Transfer status identifiers. - + \ No newline at end of file diff --git a/lib/schemas/host-1.0.xsd b/lib/schemas/host-1.0.xsd index 47015ec83..d4bbc043e 100644 --- a/lib/schemas/host-1.0.xsd +++ b/lib/schemas/host-1.0.xsd @@ -1,244 +1,238 @@ - + 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"> - - + + - - - Extensible Provisioning Protocol v1.0 - host provisioning schema. - - + + + Extensible Provisioning Protocol v1.0 + host provisioning schema. + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/lib/schemas/keyrelay-1.0.xsd b/lib/schemas/keyrelay-1.0.xsd new file mode 100644 index 000000000..2239754e7 --- /dev/null +++ b/lib/schemas/keyrelay-1.0.xsd @@ -0,0 +1,63 @@ + + + + + + + Extensible Provisioning Protocol v1.0 protocol + extension schema for relaying DNSSEC key material. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/schemas/secDNS-1.1.xsd b/lib/schemas/secDNS-1.1.xsd index e9fe3f65a..a47c07a23 100644 --- a/lib/schemas/secDNS-1.1.xsd +++ b/lib/schemas/secDNS-1.1.xsd @@ -1,130 +1,134 @@ + targetNamespace="urn:ietf:params:xml:ns:secDNS-1.1" + xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> - Extensible Provisioning Protocol v1.0 - domain name extension schema - for provisioning DNS security (DNSSEC) extensions. + Extensible Provisioning Protocol v1.0 + domain name extension schema + for provisioning DNS security (DNSSEC) extensions. - - + - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cf120d896385d37107f9a288f626d6ed67a88581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Mon, 30 Nov 2015 11:18:38 +0200 Subject: [PATCH 25/27] eddited schemaLocations for system to use local copies of schema files commented out max value for object id length on eppcom schema --- lib/schemas/all-ee-1.0.xsd | 17 ++++++++--------- lib/schemas/eppcom-1.0.xsd | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/schemas/all-ee-1.0.xsd b/lib/schemas/all-ee-1.0.xsd index 5ad285c98..3013daf48 100644 --- a/lib/schemas/all-ee-1.0.xsd +++ b/lib/schemas/all-ee-1.0.xsd @@ -17,25 +17,24 @@ in incompatibility with EPP standard. --> + schemaLocation="lib/schemas/eppcom-1.0.xsd"/> + schemaLocation="lib/schemas/epp-1.0.xsd"/> + schemaLocation="lib/schemas/secDNS-1.1.xsd"/> + schemaLocation="lib/schemas/keyrelay-1.0.xsd"/> + schemaLocation="lib/schemas/host-1.0.xsd"/> + schemaLocation="lib/schemas/eis-1.0.xsd"/> + schemaLocation="lib/schemas/contact-eis-1.0.xsd"/> - + schemaLocation="lib/schemas/domain-eis-1.0.xsd"/> diff --git a/lib/schemas/eppcom-1.0.xsd b/lib/schemas/eppcom-1.0.xsd index d6ef94b24..3b7d5d65c 100644 --- a/lib/schemas/eppcom-1.0.xsd +++ b/lib/schemas/eppcom-1.0.xsd @@ -53,7 +53,7 @@ Abstract client and object identifier type. - + @@ -102,4 +102,4 @@ Transfer status identifiers. - \ No newline at end of file + From f3a91873f348ccb7133db6351f675482bd282322 Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Mon, 30 Nov 2015 11:42:27 +0200 Subject: [PATCH 26/27] Story #109070924 - change EPP to use all.xsd, requires prior commit that provides all.xsd --- app/controllers/epp_controller.rb | 5 +---- config/initializers/load_schemas.rb | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/app/controllers/epp_controller.rb b/app/controllers/epp_controller.rb index 15f6c6a49..a0e7d7dce 100644 --- a/app/controllers/epp_controller.rb +++ b/app/controllers/epp_controller.rb @@ -73,10 +73,7 @@ class EppController < ApplicationController 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 + EPP_ALL_SCHEMA end def generate_svtrid diff --git a/config/initializers/load_schemas.rb b/config/initializers/load_schemas.rb index 617022179..91ca113cc 100644 --- a/config/initializers/load_schemas.rb +++ b/config/initializers/load_schemas.rb @@ -1,3 +1 @@ -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")) +EPP_ALL_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/all-ee-1.0.xsd")) From 1da062594a239997023068dfc738504597b54dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Mon, 30 Nov 2015 12:26:26 +0200 Subject: [PATCH 27/27] Update eppcom-1.0.xsd removed max length limit from clid element --- doc/schemas/eppcom-1.0.xsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/schemas/eppcom-1.0.xsd b/doc/schemas/eppcom-1.0.xsd index d6ef94b24..3b7d5d65c 100644 --- a/doc/schemas/eppcom-1.0.xsd +++ b/doc/schemas/eppcom-1.0.xsd @@ -53,7 +53,7 @@ Abstract client and object identifier type. - + @@ -102,4 +102,4 @@ Transfer status identifiers. - \ No newline at end of file +