Commit graph

1175 commits

Author SHA1 Message Date
nickfelt
16832323d0 Make ListObjectsAction return 200 when sending JSON error
This fixes a bug in the interaction between ListObjectsAction and ListObjectsCommand/AppEngineConnection.  ListObjectsAction was returning HTTP status code 400 when it caught an IAE, but also attempting to return a JSON response payload of {"status": "error", "error": "<exception message>"}.  However, AppEngineConnection treats any HTTP error response as more like a crash on the server side - it attempts to scrape the error message out of the autogenerated HTML that AppEngine produces for uncaught exceptions, and throws an exception, killing ListObjectsCommand before it can extract the JSON which contains the nicer error (that stating the missing field, etc versus just "400 Bad Request").

The fix is just to have ListObjectsAction return a 200 and the error message so that ListObjectsCommand can correctly handle it.

I also de-scoped the catch to only catching IAE, since catching Exception was overbroad, and the only "expected" exception to be thrown is an IAE from the checkArgument() that tests if the requested fields all exist.  Any other kinds of exceptions should actually just bubble up and kill the action, and get the regular AppEngineConnection error treatment.

I also added "billingId" as an alias for "billingIdentifier", parallel to clientId/clientIdentifier, since that's why I came across this issue in the first place.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148248834
2017-02-27 11:10:37 -05:00
mmuller
9ea38e6348 Remove unnecessary line to load configs
Remove line that loads RegistryConfigSettings from RegistryConfigTest.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148236844
2017-02-27 11:07:40 -05:00
mmuller
093716c7d3 Fix unused variable and missing end newline
Fix a few diffs lost in pre-submission testing shuffle.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148222135
2017-02-22 11:50:31 -05:00
mmuller
acc7d19106 Put the path to client_secrets in a config option.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148214513
2017-02-22 11:49:03 -05:00
mmuller
68bac57da5 Store credentials under scope-qualified name
Store the auth credentials under a name qualified by the set of OAuth scopes
as well as the client id.  This is implemented as the base64 encoded SHA1 hash
of the concatenation of client id and sorted auth scopes.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148127911
2017-02-22 11:47:37 -05:00
ctingue
b3b4bba9aa Align parameter formats for zone data commands
Seems silly that one command uses --tlds for the required parameter, while the other one doesn't.

As part of this change, create a DateParameter for commands that require only a date (i.e. a DateTime parameter restricted to midnight UTC).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148106721
2017-02-22 11:46:07 -05:00
mountford
0417f3d3a1 Daggerize XsrfTokenManager
The one-day validity period is also moved from the caller into XsrfTokenManager.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147857716
2017-02-22 11:43:10 -05:00
ctingue
4a92d97a70 Filter domains w/disallowed statuses from zone file generation MR
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147839827
2017-02-17 12:26:29 -05:00
mountford
a1537a51a9 Remove unnecessary @Inject qualifiers in test classes
No actual injection is happening in test, and at least some compilers complain that @Inject qualifiers are not allowed on non-static inner classes.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147835985
2017-02-17 12:25:05 -05:00
cgoldfeder
c23bbe35bb Improve handling of lastSubordinateChange and beef up tests
See [] for the comments that led to this.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147796087
2017-02-17 12:23:36 -05:00
shikhman
be30ecdf66 Add Cloud KMS based secret storage
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147791972
2017-02-17 12:22:12 -05:00
cgoldfeder
ab6e7b177a Fix a comment nit (can't @link to a generic type)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147731422
2017-02-17 12:20:45 -05:00
mmuller
177bf4a5f1 Add Client-side OAuth2 to HTTP connections
Implement client-side OAuth in non-local HTTP connections.  Also add tests to
verify that the different modes of connection are set up correctly.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147636222
2017-02-17 12:17:53 -05:00
mcilwain
e8c5720826 Save bloom filters for premium list entries
This is the first step in the migration to remove the need to load all of
the premium list entries every time the cache expires (which causes slow-
downs). Once this is deployed, we can re-save all premium lists, creating
the bloom filters, and then the next step will be to read from them to
more efficiently determine if a label might be premium.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147525017
2017-02-17 12:15:02 -05:00
mcilwain
cdadb54acd Refer to Datastore everywhere correctly by its capitalized form
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147479683
2017-02-17 12:12:12 -05:00
cgoldfeder
a8cf81bca2 Add @Deprecated to remove a warning
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147478560
2017-02-17 12:10:46 -05:00
ctingue
53262d82bb Add period restriction to domain flows
Specifically, Domain[Create,Allocate,ApplicationCreate]Flow

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147458283
2017-02-14 12:14:04 -05:00
mcilwain
4c7861c2c6 Add servlet API as dependency to auth tests to fix broken build
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147174354
2017-02-14 12:03:48 -05:00
nickfelt
3c4bf1e690 Add request/auth tests to Nomulus release
Followup to []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147169636
2017-02-14 12:02:19 -05:00
mcilwain
dc66cef8ae Add request/auth package to Nomulus release
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147087621
2017-02-14 12:00:49 -05:00
mountford
c41f5bb31c Make first pass at new OAuth-aware server authentication framework
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147081745
2017-02-14 11:59:19 -05:00
Wolfgang Meyers
da1f83a7b4 Add host linker mapreduce for RDE imports
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=147025088
2017-02-09 14:24:27 -05:00
Wolfgang Meyers
6cdb3d81d3 Generate authInfo for imported domains
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146956307
2017-02-08 17:42:57 -05:00
Wolfgang Meyers
60a3d2a53b Synchronize domains with DNS on import
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146813124
2017-02-08 17:42:43 -05:00
nickfelt
5d4a88e5ce Add @VirtualEntity checking to Ofy's deleteWithoutBackup()
This was an oversight I noticed ages ago, so resurrecting some old local changes I had to correct it.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146812322
2017-02-08 17:31:07 -05:00
mcilwain
d2bc569b4b Tighten up restrictions on domain/host naming on EPP resources
All domain/host names should be stored in their canonical forms (puny-
coded and lower-cased). This validation is already in the flows, but
this adds protection against bad data from other sources, e.g. admin
consoles or RDE imports.

This also removes an old work-around that temporarily suspended this
validation for superusers, because we used to have non-canonicalized
data in the system. The non-canonicalized data has since all been
cleaned up, so this work-around is no longer necessary.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146799558
2017-02-07 13:29:03 -05:00
mcilwain
ec55aa5361 Resolve some Guava 20 TODOs (mostly unnecessary asList() calls)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146799536
2017-02-07 13:27:40 -05:00
mcilwain
f212a53232 Make dependency injection and construction of DnsQueue nicer
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146783008
2017-02-07 13:26:13 -05:00
Wolfgang Meyers
a904f2c6ee Add mapper to import domains from RDE deposits
With some additional cleanup by Ben McIlwain.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146695665
2017-02-06 16:46:46 -05:00
mcilwain
d6e6e8a49c Re-add some accidentally removed license headers
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146694719
2017-02-06 16:45:23 -05:00
cgoldfeder
91049d2c53 Replace 'host.getSubordinateHost() != null' with 'host.isSubordinate()'
This is a cleanup in preparation for the next change that does a lot
of work with subordinate hosts, to make it easier to reason about in
complex code.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146689904
2017-02-06 16:45:23 -05:00
mcilwain
61230b035c Finish YAMLification of last necessary config values
There are still some options in RegistryConfig that can't be configured
in YAML, but it's not clear why anyone would need to change them from
their default values.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146482435
2017-02-03 12:37:38 -05:00
mcilwain
8e9b2d3483 Convert Braintree configuration to YAML
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146477578
2017-02-03 12:34:52 -05:00
cgoldfeder
223e8c2316 Fix a null check bug in HostUpdateFlow
This bug is about a bad use of Optional.
We were checking == null instead of .isPresent(), so the check
always passed, and we always set a lastSubordinateTime when
updating hosts, even if the host was external and should have
had a null value in that field.

There is almost certainly bad data in prod in the sense
that any external host that was ever updated will have a value
for this field instead of null. However, this is not
consequential as the field is entirely meaningless for
external hosts, and will be properly reset if the host is
ever moved to be internal.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146363178
2017-02-02 17:16:32 -05:00
cgoldfeder
a3baa58cad Fix two deprecated uses of Files methods
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146363008
2017-02-02 17:15:10 -05:00
cgoldfeder
5d2b83ffe7 Comment and deprecation nits
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146285418
2017-02-02 17:13:47 -05:00
cgoldfeder
f17272b197 Replace more uses of deprecated getHostText() with getHost()
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146266363
2017-02-02 17:11:00 -05:00
cgoldfeder
c366c50d09 Suppress a warning in a test
In general we insist that you assign the return of checkRegistrarConsoleLogin
to something, since it's annotated with @CheckReturnValue, but in this
specific test which should always throw the value is unused, so suppress the
"unused" warning.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146265522
2017-02-02 17:09:36 -05:00
cgoldfeder
90a1f4a24e Replace more deprecated uses of Files methods
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146260709
2017-02-02 17:08:12 -05:00
cgoldfeder
b35ffd4162 Remove an unused exception
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146259756
2017-02-02 17:06:50 -05:00
mcilwain
636da9f7f0 Convert yet more configuration options to YAML
With a particular focus on custom logic and caching.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146258446
2017-02-02 17:05:28 -05:00
cgoldfeder
e2e37dc9f3 Replace Throwables.propagate and variants with Guava 20 versions
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146250470
2017-02-02 17:01:23 -05:00
cgoldfeder
50c5f856a2 Document StatusValue better and add per-resource restrictions
This generalizes the "LINKED can't be anywhere" idea into more
targeted restrictions.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146158204
2017-02-02 16:46:02 -05:00
emcmanus
a0d6a81276 Use the original class name, not the App Engine-repackaged one
(Usually the latter is because an IDE chose the repackaged name without the developer noticing.)
Tested:
    TAP --sample for global presubmit queue
    []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146121772
2017-02-02 16:38:24 -05:00
mmuller
b70f57b7c7 Update copyright year on all license headers
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146111211
2017-02-02 16:27:22 -05:00
mcilwain
813f837956 Re-add Stackdriver metrics code
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146000275
2017-01-30 15:03:53 -05:00
shikhman
3f9c53b850 Refactor Stackdriver-over-REST specific code to a different package
Downstream users who use gRPC rather than REST don't want to pull down
rest-related dependencies.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145834701
2017-01-30 15:03:53 -05:00
jianglai
4fed3a9ae6 Daggerize ExportSnapshotServlet and CheckSnapshotServlet
Eradicate the last remnants of un-injectable servlets!

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145598002
2017-01-30 15:03:53 -05:00
mcilwain
a8aeff96f6 Ignore empty custom configuration YAML files
We're shipping default custom configuration files that only contain a
comment, so the system should work in that case the same as if the file
didn't exist at all.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145594737
2017-01-30 15:03:53 -05:00
cgoldfeder
0b1781b110 Make LINKED into a virtual status value
* Remove LINKED when loading an EppResource
* Enforce that you can't add it to a resource
* Ignore LINKED on xjc import of contacts and hosts

After running ResaveAllEppResourcesAction we will no
longer have persisted LINKED statuses in datastore.

In the process of writing this I discovered that RDAP
treats LINKED like any other status value and returns
the persisted value rather than the derived one. Since
this is an existing bug and is orthogonal to the changes
in this CL, I am addressing it in a separate CL.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145585227
2017-01-30 15:03:53 -05:00