Commit graph

133 commits

Author SHA1 Message Date
jianglai
50998136b1 Update bazel version to 0.9.0
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=179686177
2017-12-27 11:31:10 -05:00
mountford
68468b36b5 Document next page links in RDAP search
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=179429371
2017-12-27 11:12:09 -05:00
jianglai
d736f7f08d Upgrade to Bazel 0.8.1
TESTED=passed FOSS test (with the same caveat about failing GPG related tests
on Debian).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=178031429
2017-12-13 12:43:45 -05:00
mcilwain
ebfa27b3ad Require fee extension when registering domain in EAP
Failing to use the fee extension during EAP can result in charges to registrars
that are radically different than what they may have been expecting.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=177597883
2017-12-01 22:14:06 -05:00
jianglai
25b49c57cd Update to bazel 0.8.0
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=177040918
2017-12-01 22:14:06 -05:00
mountford
8cd3979385 Add formatOutput parameter to RDAP documentation
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=176532296
2017-11-21 18:53:20 -05:00
jianglai
0796a0ff1c Check the host is under registry suffix instead of public suffix
Guava now has support to distinguish a registry suffix from a public suffix. Since we are only interested in registrable domains, registry suffix is the proper thing to check.

See:

692446a303/guava/src/com/google/common/net/InternetDomainName.java

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=176126916
2017-11-21 18:41:06 -05:00
jianglai
28417b7599 Update generate_workspace link
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=175734112
2017-11-21 18:28:43 -05:00
mountford
c126c05810 Link RDAP syntax page to Github RDAP user's guide
It has been decided that we will link the RDAP help pages, not to local HTML copies, but to the Github documentation.

A typo and word order error in the Github version of the user's guide are also
corrected.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=174350665
2017-11-07 17:37:35 -05:00
mountford
ab04bce23d Change nonfunctional markdown-style anchors to HTML
The RDAP help page has anchors, so that we can then change the internal RDAP help topics to point to specific parts of the documentation. Unfortunately, GitHub does not appear to support the style of anchor we were using. See the current situation:

https://github.com/google/nomulus/blob/master/docs/rdap.md

Experimentation in GitHub confirms that switching to embedded HTML <a> tags solves the problem, and Critique preview shows it working correctly as well, with automatically generated table of contents at the left. If there's another way to fix this problem, I'm happy to try it.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=173405974
2017-11-07 16:52:32 -05:00
jianglai
7bc2d6badd Update to bazel 0.7.0
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=173276422
2017-10-24 16:53:47 -04:00
mountford
f89ad27e17 Add markdown documentation for RDAP
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=172776631
2017-10-24 16:53:47 -04:00
mcilwain
e62e1af863 Rename ClaimsCheckFlow to DomainClaimsCheckFlow
This way it is consistent with the rest of our domain-related flows, which
consistently use the Domain* prefix. Note that claims checks are just a
special case of domain checks anyway, which run under DomainCheckFlow. This
will make dashboards looking at domain commands "just work" with a regexp of
Domain.*, without having to special-case in ClaimsCheck.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=172608964
2017-10-24 16:53:47 -04:00
jianglai
07240162a2 Update working bazel version to 0.6.1
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=172384077
2017-10-24 16:53:47 -04:00
bbilbo
14ccd2b8f1 Undo incorrect changes regarding the registrar console homepage
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=170854904
2017-10-04 16:16:45 -04:00
guyben
01591ff88e Clarify diff display of MutatingCommand
Tools inheriting from MutatingCommand print out the change they are going to
make and then ask the user to confirm that this is indeed what they wanted to
do.

The change is outputted as a list of updated values in the form

key -> [oldValue, newValue]

e.g.

dnsPaused -> [true, false]

This CL will change the output to be clearer:

key: oldValue -> newValue

e.g.

dnsPaused: true -> false

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=170853745
2017-10-04 16:16:45 -04:00
mcilwain
cb6bf91c8a Update install instructions to reflect upgrade to Java 8
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=170703827
2017-10-04 16:16:45 -04:00
bbilbo
7aa5629517 Allow domain transfers with 0 period and in auto-renew grace period
Normally, if a domain is in the auto-renew grace period, a transfer will cancel the auto-renew billing event. In the event of a transfer with no change to registration end date, the auto-renew billing event should not be cancelled and the gaining registrar should not be charged for the transfer.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=170576726
2017-10-04 16:16:45 -04:00
mcilwain
1c4e79f99e Don't allow non-active registrars to create domains or applications
Specifically, this prevents suspended registrars from creating domains or applications. Pending registrars already can't perform these actions because they get an error message when attempting to log in.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=170481338
2017-10-04 16:16:45 -04:00
mcilwain
c64e9fe788 Add more explanation to architecture document
This also renames the document to clarify its scope as being all of
Google Cloud Platform, not just App Engine.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=169543846
2017-10-04 16:16:45 -04:00
nickfelt
67116c5fa1 Remove long-dead LogsExportCursor and PersistedRangeLong
LogsExportCursor was only used by ExportLogsTaskServlet, which we removed a long time ago.  It's just dead code.  The PersistedRangeLong type was only written for use by LogsExportCursor, and since it hasn't picked up new users in 3+ years I don't think we need to keep it around.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=169264994
2017-09-20 10:27:17 -04:00
bbilbo
2e4b63bb79 Add support for a domain transfer request superuser EPP extension
Allow superusers to change the transfer period to zero years and allow
superusers to change the automatic transfer length.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=167598314
2017-09-12 15:51:50 -04:00
bbilbo
e786c8d6ff Add better testing of domain and host creation using multi-part TLDs
Added validation on domain creation, preventing a domain from being created if
it equals an existing TLD. Added domain create tests for domains using
multi-part TLDs that shared suffixes and prefixes. Added host create tests for
hosts using multi-part TLDs that shared suffixes.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164297749
2017-08-29 15:47:50 -04:00
bbilbo
b9a8853f4b Add details on how admins can access the registry console
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164197418
2017-08-29 15:44:59 -04:00
bbilbo
f3919e056d Allow admins to access registrar console without a RegistrarContact
This allows admins to access the registrar console without needing to be added
as a registrar contact. If they are a registrar contact, then that registrar
takes precedence.

Tested=In Alpha

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164182623
2017-08-29 15:43:36 -04:00
mountford
151ae2558f Document the framework for authentication and authorization
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164181067
2017-08-29 15:42:09 -04:00
bbilbo
1c015028d9 Update create_domain command documentation
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=162623002
2017-08-01 16:53:32 -04:00
bbilbo
879fc7a44c Change 'set t the' to 'set to the'
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=162614388
2017-08-01 16:52:10 -04:00
bbilbo
7a7bb51093 Change 'choose to user' to 'choose to use'
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=162356346
2017-08-01 16:39:55 -04:00
jianglai
fc327ec9fb Update working bazel version to 0.5.2
New bazel version is also copied into x20.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=161720869
2017-08-01 16:14:06 -04:00
mountford
0585069361 Clarify OAuth configuration documentation
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=161583493
2017-07-12 11:03:50 -04:00
mountford
3372ed718a Add documentation about OAuth2 client id configuration
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=161571961
2017-07-12 11:03:50 -04:00
mmuller
e63351ec73 Sort flow docs by classname
This fixes non-determinism in the order of the generated classdocs, which
appears to be causing test failures for us now, presumably due to some subtle
environmental change.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=160296878
2017-07-10 11:25:16 -04:00
mcilwain
30d5d05fdf Refactor/rename refresh all DNS action
I'm moving it out of the scrap folder too because there's nothing else
in there and we do want to retain this indefinitely because it's a useful
tool for performing DNS writer migrations.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=160168902
2017-07-10 11:18:41 -04:00
jianglai
6e6a340113 Allow multiple domain creation in nomulus tool
This helps creating test domains. Also fixed a bunch of bad test cases.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=155864065
2017-05-17 12:08:10 -04:00
mountford
11e7374c0f Fix bug which allowed creation of hosts with superordinate domains in pending delete state.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=154716883
2017-05-03 11:03:23 -04:00
mcilwain
af942774f4 Copyedit the TLD security restrictions doc
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=152570631
2017-04-10 13:52:18 -04:00
jianglai
783033c261 Document TLD security restrictions
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=152399752
2017-04-10 13:43:23 -04:00
jianglai
87a9d27299 Remove domain create restriction check in non-create flows
Since domain create restriction only applies to closed TLDs, flows like domain application create and domain application update does not apply, as the TLD never goes through sunrise period. Removing checks for domain create restrictions in these flows.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=152260673
2017-04-10 13:31:11 -04:00
mcilwain
b03bd3b525 Remove UNRESERVED as a reservation type
This is a follow-up to Lai's refactoring of the get reservation types
code to return a set rather than a single type. Since we're always
returning a set now, the more natural way to represent a label that is
not reserved is to return an empty set rather than a set containing
UNRESERVED.

Also fixes some minor style issues I ran across regarding static
importing and test method naming that I ran across (no logic
implications).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=151132116
2017-03-27 13:31:33 -04:00
nickfelt
015d07a9b6 Update description of RegistrarCredit in g3doc architecture doc
This is a followup to [] that adds a similar explanation to our g3doc, warning that RegistrarCredits don't have any effect as implemented and may be removed.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=151041925
2017-03-27 13:22:37 -04:00
jianglai
37440d6b29 Add nameserver validation in domain update related flows
When updating domains, make sure that if the domains are nameserver restricted, the updated nameservers set on the domains are still consistent with the restriction.

When updating domains of a domain created restricted TLD, validate if the domain is still on the reserved list with nameserver restricted reservation. If it is not, there's likely some conflicting states of the domain that needs to be reconciled (e. g.the domain is removed from the reserved list after being created). Throws an exception in this case.

Also added missing tests for TLDs with nameserver whitelist.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150781935
2017-03-27 12:58:19 -04:00
jianglai
620d698479 Add validation during domain creation for locked down TLDs
During domain create/applicationcreate/allocate, domains that are on the reserved list(s) with nameserver restricted reservation type must set nameservers that are part of the allowed nameservers for that domain in the reserved list(s) applied to that TLD.

Additionally a boolean is added to Registry to indicate if a TLD is restricting domain create. If it is, only domains that are nameserver restricted can be registered.

For consistency with a similar feature that validates a TLD-wide nameserver whitelist, the per-domain nameserver validation is performed even when the operation is in super-user mode. Similarly, if a domain is nameserver restricted, nameservers must be supplied (i. e. the nameservers set cannot be empty) when registering the domain.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150641269
2017-03-21 15:42:23 -04:00
mcilwain
582469e052 Revert upgrade to Bazel 0.4.4
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150633068
2017-03-21 15:40:54 -04:00
jart
f37296c3a1 Set output_licenses on java_plugin
The fix was released in Bazel 0.4.4 a month ago.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150630179
2017-03-21 15:39:28 -04:00
nickfelt
70fbdccea2 Restrict domain transfer pricing to 1 year
This CL restricts domain transfer pricing lookups (on domain check and info) to
only support a 1-year period for inquiring about transfer fees.  That treatment
matches what we do for domain restores, which are also always one year.  This is
a followup to [] which disallowed actual transfer request flows from
specifying multi-year periods.

Since it's no longer necessary, this CL also changes the domain transfer pricing
logic to drop the years parameter, including removing the parameter from the
custom pricing logic TransferPriceParameters object.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150367839
2017-03-21 15:33:29 -04:00
ctingue
443e260f91 Disallow renaming of external hosts
EPP host spec section 3.2.5 requires that attempts to update hosts that are linked to different registrars must fail with error code 2305. This is complicated to do, as linked status is eventually consistent, and even more painful when checking links to those of different registrars.

This change forbids external-to-anything renames entirely.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150336754
2017-03-21 15:24:28 -04:00
nickfelt
e1c9395749 Simplify blocking of renews for domains in pending transfer
This tweaks the logic that prohibits domain renews during pending transfers to just use the regular verifyNoDisallowedStatuses() check instead of a special check on TransferData with a custom exception.  This is simpler and produces a better error message: we get "Operation disallowed by status: pendingTransfer" instead of "Object with given ID (foo.com) already has a pending transfer" (which is intended for use when denying a transfer request for an object already being transferred, not for this case).

For the record, we originally prohibited renews for domains in pending transfer because there's no good reason to do such a renew: b/12533793.  But in fact our transfer server-approve logic relies heavily on this behavior, because otherwise the domain's expiration time computed in cloneProjectedAtTime() will reflect the transfer year added to the post-renew expiration time, whereas all the transfer server approve entities (e.g. new autorenew billing event) will reflect the pre-renew expiration time at the moment the transfer was requested.  As such, it would be quite difficult to ever support a renew during pending transfer, since it would need to change many fields within the transfer server approve entities.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150325501
2017-03-21 15:21:28 -04:00
nickfelt
6a8b25360c Use StatusValue XML names in EPP error messages
This changes ResourceStatusProhibitsOperationException so that we print out the list of StatusValues using their XML names rather than the literal enum name, i.e. we use "pendingDelete" rather than "PENDING_DELETE".

This seems more correct given that EPP clients will be used to seeing the status values in the XML representation, and it also matches the existing ResourceHasClientUpdateProhibitedException that hardcodes "clientUpdateProhibited":
http://[]/third_party/java_src/gtld/java/google/registry/flows/exceptions/ResourceHasClientUpdateProhibitedException.java?l=22&rcl=146111211

Also reorganized related test methods and added some missing tests, including for ContactTransferRequestFlow which previously had none.  I also renamed the "clientProhibitedStatusValue" tests to instead say "statusValueNotClientSettable" to be clearer about what's being tested, and that it's not related to the "clientXXProhibited" statuses.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150248562
2017-03-21 15:14:02 -04:00
nickfelt
f28104ad03 Restrict domain transfer periods to 1 year
It turns out that this ICANN policy appears to prohibit transfers with
registration extensions other than 1 year (section A.8):
https://www.icann.org/resources/pages/policy-2012-03-07-en

This is backed up by the practical fact that we've never seen a registrar
request a transfer for any period other than one year.

And removing the support for multi-year transfers vastly simplifies
transfer logic and eliminates a bunch of annoying corner cases.  Users
still can achieve the same thing by doing a 1-year transfer plus a
manual renewal afterwards for the remainder of the desired extension.

This change leaves in place lots of infrastructure to support multi-year
transfers that is now obsolete (e.g. TransferData.extendedRegistrationYears).
This should all be cleaned up, but it's a lower priority than fixing the
gap itself and insulating ourselves against needing to handle any real
multi-year transfer case.  Once this CL goes in, we can start ignoring
extendedRegistrationYears entirely because it'll always be 1 year, which
makes the cleanup process easier.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150212864
2017-03-21 15:11:07 -04:00