diff --git a/app/models/depp/contact.rb b/app/models/depp/contact.rb index 2d85d1459..33b7545b7 100644 --- a/app/models/depp/contact.rb +++ b/app/models/depp/contact.rb @@ -3,9 +3,9 @@ module Depp include ActiveModel::Model attr_accessor :id, :name, :email, :phone, :org_name, - :ident, :ident_type, :ident_country_code, - :street, :city, :zip, :state, :country_code, - :password, :legal_document, :statuses, :code + :ident, :ident_type, :ident_country_code, + :street, :city, :zip, :state, :country_code, + :password, :legal_document, :statuses, :code DISABLED = 'Disabled' DISCLOSURE_TYPES = [DISABLED, '1', '0'] @@ -77,7 +77,8 @@ module Depp def user=(user) @user = user - @epp_xml = EppXml::Contact.new(cl_trid_prefix: user.tag) + @epp_xml = EppXml::Contact.new(cl_trid_prefix: user.tag, schema_prefix: 'contact-ee', + schema_version: '1.1') end def info_xml(id, password = nil) @@ -236,11 +237,11 @@ module Depp case action when :create - ident = ident_xml[:_anonymus].try(:first) + ident = ident_xml[:_anonymus].try(:first) when :update # detect if any ident has changed, nb! ident and self.ident is not always same if !(ident == self.ident && ident == self.ident_type && ident_country_code == self.ident_country_code) - ident = ident_xml[:_anonymus].try(:first) + ident = ident_xml[:_anonymus].try(:first) end end diff --git a/app/models/depp/domain.rb b/app/models/depp/domain.rb index f9e065241..398839f80 100644 --- a/app/models/depp/domain.rb +++ b/app/models/depp/domain.rb @@ -53,11 +53,6 @@ module Depp current_user.request(xml) end - def hostname_present - domain_params[:nameservers_attributes] - .select { |_key, value| value['hostname'].present? }.any? - end - def create(domain_params) dns_hash = {} keys = Domain.create_dnskeys_hash(domain_params) @@ -66,7 +61,8 @@ module Depp period = domain_params[:period].to_i.to_s period_unit = domain_params[:period][-1].to_s - xml = if hostname_present + xml = if domain_params[:nameservers_attributes] + .select { |_key, value| value['hostname'].present? }.any? epp_xml.create({ name: { value: domain_params[:name] }, period: { value: period, attrs: { unit: period_unit } }, @@ -242,12 +238,11 @@ module Depp rem_arr << { ns: rem_ns } if rem_ns.any? rem_arr << { _anonymus: rem_anon } if rem_anon.any? - return if domain_params[:registrant] == old_domain_params[:registrant] - - chg = [{ registrant: { value: domain_params[:registrant] } }] - if domain_params[:verified].blank? && (domain_params[:verified]) - chg = [{ registrant: { value: domain_params[:registrant], - attrs: { verified: 'yes' } } }] + if domain_params[:registrant] != old_domain_params[:registrant] + chg = [{ registrant: { value: domain_params[:registrant] } }] unless domain_params[:verified].present? + if domain_params[:verified] + chg = [{ registrant: { value: domain_params[:registrant], attrs: { verified: 'yes' } } }] + end end add_arr = nil if add_arr.none? diff --git a/config/application.yml.sample b/config/application.yml.sample index 02396aad3..70bb4a1b5 100644 --- a/config/application.yml.sample +++ b/config/application.yml.sample @@ -198,6 +198,19 @@ test: cdns_scanner_output_file: 'test/fixtures/files/cdns_output.txt' dnssec_resolver_ips: 8.8.8.8, 8.8.4.4 legal_documents_dir: 'test/fixtures/files' + + openssl_config_path: 'test/fixtures/files/test_ca/openssl.cnf' + crl_dir: 'test/fixtures/files/test_ca/crl' + crl_path: 'test/fixtures/files/test_ca/crl/crl.pem' + ca_cert_path: 'test/fixtures/files/test_ca/certs/ca.crt.pem' + ca_key_path: 'test/fixtures/files/test_ca/private/ca.key.pem' + ca_key_password: 'password' + + cert_path: 'test/fixtures/files/webclient/webclient.crt.pem' + key_path: 'test/fixtures/files/webclient/webclient.key.pem' + epp_hostname: 'epp_proxy' + epp_port: '700' + epp_sessions_per_registrar: '4' # Airbrake // Errbit: airbrake_host: "https://your-errbit-host.ee" diff --git a/test/fixtures/files/webclient/webclient.crt.pem b/test/fixtures/files/webclient/webclient.crt.pem new file mode 100644 index 000000000..2bd2bd098 --- /dev/null +++ b/test/fixtures/files/webclient/webclient.crt.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- diff --git a/test/fixtures/files/webclient/webclient.key.pem b/test/fixtures/files/webclient/webclient.key.pem new file mode 100644 index 000000000..5b26d1424 --- /dev/null +++ b/test/fixtures/files/webclient/webclient.key.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY-----