diff --git a/CHANGELOG.md b/CHANGELOG.md index ce74bbb10..99534b676 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ -20.05.2016 +16.06.2016 +* EPP + * BUG: XML syntax error for poll and logout if optional clTRID is missing (#121580929) + * support for glue records with ipv6 addresses only (#120095555) +15.06.2016 +* Portal for registrants + * Notice on login screen on limited access to Estonian electronic IDs (#120182999) +* Admin interface: + * epp log view has now reference to the object name for better usability (#118912395) + * BUG: dnssec data missing from domain history view (#115762063) + * BUG: internal error in doamin history view in case some contact has been deleted (#118300251) +* Registry: + * all values sent over epp are now trimmed of beginning and trailing spaces (#117690107) + * typo and form fixes for automated e-mail messages sent to domain contacts +* EPP: + * BUG: error 2005 on adding IDN nameservers (#114677695) + * BUG: nameserver lable maximum 63 char length validation handled inproperly (#114677695) - support currently limited to Estonian IDN characters. + * BUG: validation passes out of range ident_type values - now limited to org, priv and birthday (#111601356) + * BUG: internal error on hello (#120828283) + * BUG: internal error broken incoming frame (#121580929) +* Deploy: + * BUG: incorrect version in commit message on deploy - config/deploy-example.rb (#120259603) + +20.05.2016 * Portal for registrars * domain details view new displays contact name in addition to ID (#117226457) * added an option to set veryfied = "yes" parameter to GUI for registrant change and domain delete opertions (#116209751) diff --git a/app/models/domain.rb b/app/models/domain.rb index 5959cbb90..3751da5b6 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -478,7 +478,8 @@ class Domain < ActiveRecord::Base def validate_nameserver_ips nameservers.to_a.reject(&:marked_for_destruction?).each do |ns| next unless ns.hostname.end_with?(".#{name}") - next if ns.ipv4.present? + next if ns.ipv4.present? || ns.ipv6.present? + errors.add(:nameservers, :invalid) if errors[:nameservers].blank? ns.errors.add(:ipv4, :blank) end diff --git a/app/models/nameserver.rb b/app/models/nameserver.rb index 9ca1bebf7..86cd7e002 100644 --- a/app/models/nameserver.rb +++ b/app/models/nameserver.rb @@ -32,7 +32,7 @@ class Nameserver < ActiveRecord::Base [:ipv4, :invalid, { value: { obj: 'hostAddr', val: ipv4 } }], [:ipv6, :invalid, { value: { obj: 'hostAddr', val: ipv6 } }] ], - '2306' => [ + '2003' => [ [:ipv4, :blank] ] } diff --git a/config/locales/en.yml b/config/locales/en.yml index 400985d16..f2f4d061f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -136,7 +136,7 @@ en: taken: 'Nameserver already exists on this domain' puny_to_long: 'Hostname puny label is too long (maximum is 63 characters)' ipv4: - blank: 'IPv4 is missing' + blank: 'IP is missing' invalid: 'IPv4 is invalid' ipv6: invalid: 'IPv6 is invalid' diff --git a/lib/epp_constraint.rb b/lib/epp_constraint.rb index 9cd68c121..4463a7a04 100644 --- a/lib/epp_constraint.rb +++ b/lib/epp_constraint.rb @@ -11,9 +11,9 @@ class EppConstraint # creates parsed_frame, detects epp request object def matches?(request) # TODO: Maybe move this to controller to keep params clean - request.params[:raw_frame] = request.params[:raw_frame].gsub!(/(?<=>)(.*?)(?=<)/) { |s| s.strip} - request.params[:nokogiri_frame] ||= Nokogiri::XML(request.params[:raw_frame]) - request.params[:parsed_frame] ||= request.params[:nokogiri_frame].dup.remove_namespaces! + request.params[:raw_frame] = request.params[:raw_frame].gsub!(/(?<=>)(.*?)(?=<)/) { |s| s.strip} if request.params[:raw_frame] + request.params[:nokogiri_frame] ||= Nokogiri::XML(request.params[:raw_frame] || request.params[:frame]) + request.params[:parsed_frame] ||= request.params[:nokogiri_frame].dup.remove_namespaces! unless [:keyrelay, :poll, :session, :not_found].include?(@type) element = "//#{@type}:#{request.params[:action]}"