internetee / registry Goto Github PK
View Code? Open in Web Editor NEWTLD Management Software
License: Other
TLD Management Software
License: Other
que gem's drawbacks:
config.action_mailer.default_options = {
from: "[email protected]"
}
NB! "Please don't put mailcatcher into your Gemfile. It will conflict with your applications gems at some point."
successful domain:delete query leaves outzone_at blank. The delete_at field is filled and onHold status is set.
System has to fill the outzone_At with time and date the onHold status was set.
Admin - http://prnt.sc/ckxire
Setting and removing force delete status on a domain must produce poll message for the responsible registrar
rfc on poll message:
https://tools.ietf.org/html/rfc5730#section-2.9.2.3
ForceDelete prevents any updates to a domain object.
ForceDelete is not a status on its own - it's a group label for list of statuses:
So by default any updates are prohibited. To enable updates admin has to remove serverUpdateProhibited. Removing this results in new error on domain update
Object status prohibits operation - pendingDelete [code: 2304]
pending delete cannot prevent any other requests except domain:delete. Removing this results
Object status prohibits operation [code: 2304]
To update domain data one has to remove serverForceDelete.
Also fixes failed build in #203
we need to set up Continuous Integration solution. GitHub integration is something to keep in mind so that autotest are run on merge/commit to staging for example.
https://github.com/integrations/feature/continuous-integration
deployment guide must also be updated with install and config instructions.
Solutions:
@teadur Here is the latest config for staging (config/environments/staging.rb)
https://gist.github.com/artur-beljajev/236a4c8c07a6575832b30fcf1a23a3b7
I removed in this branch: https://github.com/internetee/registry/commits/remove-staging-config.
Please reassign this ticket to me once you're done with config.
db/structure.sql
COMMENT ON TABLE que_jobs IS '3';
bin/rails c staging
reload!
Reloading...
LoadError: Unable to autoload constant Repp::API, expected app/api/repp/api.rb to define it
When domain goes to expire status, reminder email should be sent out according to the configured
Setting.expiration_reminder_mail parameter (defaults to 2)
So by default configuration expire reminder email should be sent out once to domain owner and all administrative contacts 2 days after domain has expired.
#188
Check expire_time (domain.valid_to = domain.valid_from.utc.beginning_of_day + convert_period_to_time(domain.period, domain.period_unit) + 1.day)
Nov 9 10:51:06 reg-l-rar REGISTRAR[4016]: [registrar] [855b0a24-4bf6-4fa6-b14b-a58327d7165f] [195.43.86.5] #012NoMethodError (undefined method level=' for Syslog::Logger:Class):#012 app/controllers/registrar/sessions_controller.rb:112:in
mid'#12 config/initializers/eis_custom_flash.rb:9:in `call'
domain is set as expired when timpestamp now > valid to
domain is set on hold (removed from zone) when timestamp now > outzone at
domain is set as delete candidate and random delete time is calculated when timestamp now > delete at
domain is deleted if domain has delete candidate status set
extracted from #235
STDOUT << "#{Time.zone.now.utc} DomainCron.start_expire_period: ##{domain.id} (#{domain.name}) #{domain.changes}\n" unless Rails.env.test?
The automatic email notifying the registrant about confirmed domain deletion is not sent
message is sent when the request is declined.
WHOIS server cannot handle invalid input correctly
/home/whois/whois/releases/12/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.5.2/lib/active_record/connection_adapters/postgresql_adapter.rb:602:in
exec_prepared': PG::CharacterNotInRepertoire: ERROR: invalid byte sequence for encoding "UTF8": 0xf6 0xf6 0x72 0x69 (ActiveRecord::StatementInvalid)`
server should validate the input so only correclty formated and valid queries reach the db
artur@registry:~/registry$ bundle exec rake db:migrate
== 20161004101419 AdduuidIndexToEppLogs: migrating ============================
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedColumn: ERROR: column "uuid" does not exist
: CREATE INDEX CONCURRENTLY epp_logs_uuid ON epp_logs USING btree (uuid);/media/sf_registry/db/migrate/20161004101419_adduuid_index_to_epp_logs.rb:3:in change' /home/artur/.rbenv/versions/2.2.2/bin/bundle:23:in
load'
/home/artur/.rbenv/versions/2.2.2/bin/bundle:23:in <main>' ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "uuid" does not exist : CREATE INDEX CONCURRENTLY epp_logs_uuid ON epp_logs USING btree (uuid); /media/sf_registry/db/migrate/20161004101419_adduuid_index_to_epp_logs.rb:3:in
change'
/home/artur/.rbenv/versions/2.2.2/bin/bundle:23:in load' /home/artur/.rbenv/versions/2.2.2/bin/bundle:23:in
change' /home/artur/.rbenv/versions/2.2.2/bin/bundle:23:in
load'Updating contact with missing ident data generates unhandled error condition
<result code="1">
<msg lang="en">handle_errors was executed when there were actually no errors</msg>
</result>
sample contact_info ident
<extension>
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
<eis:ident type="" cc=""/>
</eis:extdata>
</extension>
failure on update of such contact is OK, and the only solution for the registrar here is to create a new contact object, but correct error handling is necessary. An expected error message
`2306 "Parameter value policy error. Update of ident data not allowed [ident]"
domain expiration process has bugs on saving timestamps in db in correct timezone, using these values correctly according to timezone of the server/application and calculating the values of valid to, outzone and delete dates.
valid to calculated and saved in local timezone instead of utc
valid_from: "2016-10-21 11:08:18.872509"
valid_to: "2017-10-22 00:00:00"
outzone_at and delete_at dates are saved in db in local timezone instead of utc:
valid_to: "2016-11-03 22:00:00"
outzone_at: "2016-11-18 00:00:00"
delete_at: "2016-12-18 00:00:00"
due to this registrant looses 22hrs of expire warning period
logic:
Test case 1:
Test case 2:
I think b-tree index makes most sense, and it shold be added concurrently.
Should help with issue #181
config/initializers/settings.rb
app/mailers/application_mailer.rb
Once #188 is done.
The following mailers seem to be broken:
DomainMailer.pending_update_rejected_notification_for_new_registrant(Domain.find(86902)).deliver!
ArgumentError: An SMTP To address is required to send a message
#200
Add multilingual support for monthly invoices sent from Directo. There is a language parameter in the invoice XML sent to Directo (https://github.com/internetee/registry/blob/6eef658a992710d354859a32d43e1c2a0ccd497e/app/models/directo.rb)
The language parameter is currently left empty.
We need a rule that specifies language parameter as ENG in case registrar country_code value is not EE
There is a reference to the registrar holding the registration to a domain in automatic email notices sent by the registry (https://github.com/internetee/registry/tree/master/app/views/mailers), but no registrar contact data. The e-mail messages should have registrar's phone number, email address and web address as well (if exists in registry db).
Example:
config/database-example.yml should use underscore
domain and contact object history opens very slowly (up to even 5 or 6 minutes) in case the object has upates for it and related subobjects.
/admin/domains/1234/domain_versions
PRD
10) Domain with valid attributes should validate uniqueness of tech contacts
Failure/Error: @domain = Fabricate(:domain)
NoMethodError:
undefined method `json=' for #<Whois::Record:0x007f000fc5d8a0>
# ./app/models/whois_record.rb:115:in `update_whois_server'
# ./app/jobs/update_whois_record_job.rb:25:in `update_domain'
# ./app/jobs/update_whois_record_job.rb:15:in `block in run'
# ./app/jobs/update_whois_record_job.rb:12:in `each'
# ./app/jobs/update_whois_record_job.rb:12:in `run'
# ./app/models/domain.rb:716:in `update_whois_record'
# ./spec/models/domain_spec.rb:78:in `block (3 levels) in <top (required)>'
# -e:1:in `<main>'
https://github.com/errbit/errbit
Please get back to me once it is installed. I will update config with the host of errbit (https://github.com/internetee/registry/blob/registry-207/config/initializers/errbit.rb) and merge it with staging so we can test it.
#207
config/initializers/eis_custom_active_model.rb
config/initializers/eis_custom_active_record.rb
config/initializers/eis_custom_flash.rb
№ 1: https://github.com/internetee/registry/blob/master/doc/whois.rm
№ 2: https://github.com/internetee/registry/blob/master/doc/testing.md
№ 3:
https://github.com/internetee/registry/blob/master/doc/controllers_brief.svg
https://github.com/internetee/registry/blob/master/doc/controllers_complete.svg
https://github.com/internetee/registry/blob/master/doc/models_brief.svg
https://github.com/internetee/registry/blob/master/doc/models_complete.svg
№ 4:
https://github.com/internetee/registry/blob/master/README.md
The following sections are not valid anymore along with № 2.
There has inconsistency in WHOIS plain text body. All WHOIS response section headers are ending with colon except the "Administrative contact".
Consider installing production env error tracking/notification + performance monitor
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.