Age | Commit message (Collapse) | Author |
|
Update the Java gRPC implementation source to that of a released version
(v1.16.1) instead of some intermediate commit after v1.15.0.
Test: m grpc-java
Bug: 148404241
Change-Id: I9c072aee054a4aecc1bdf39adf45e9a243b907f5
|
|
Add a Soong module to build the gRPC authentication library from source.
Test: m grpc-java-auth grpc-java
Bug: 148404241
Change-Id: I8afdf8c14773de4c13889016b0bfd8b6da132548
|
|
Swapping MetadataApplier to an abstract class is not ABI-safe for
callers. So I revert back to the previous interface definition and
introduce a CallCredentials2.MetadataApplier which is an abstract class.
Once everyone is on CallCredentials2 then we can swap it to an abstract
class again.
Fixes #5002
|
|
This is the first step of smoothly changing the CallCredentials API.
Security level and authority are parameters required to be passed to
applyRequestMetadata(). This change wraps them, along with
MethodDescriptor and the transport attributes to RequestInfo, which is
more clear to the implementers.
ATTR_SECURITY_LEVEL is moved to the internal GrpcAttributes and
annotated as TransportAttr, because transports are required to set it,
but no user is actually reading them from
{Client,Server}Call.getAttributes().
ATTR_AUTHORITY is removed, because no transport is overriding it.
All involved interfaces are changed to abstract classes, as this will
make further API changes smoother.
The CallCredentials name is stabilized, thus we first introduce
CallCredentials2, ask CallCredentials implementations to migrate to
it, while GRPC accepting both at the same time, then replace
CallCredentials with CallCredentials2.
|
|
|
|
|
|
This removes an impossible condition and adds a test for another
condition.
|
|
This PR adds an automatic gradle format checker and reformats all the *.gradle files. After this, new changes to *.gradle files will fail to build if not in good format, just like checkStyle failure.
|
|
This keeps them more secure. Other types of creds are left as-is, snce
we don't quite know if it makes sense to have a similar restriction. (It
likely does make sense, but this is a more precise change for our
needs.)
This is a rollforward of 8e9d4cbe5cb455315e55846e91706cccecb4b577
which was rolled back in de9515269635d2e8e84540fcd6744cc1a69ce81b
Additional changes that were not in the original commit:
1. Treat null security level as NONE
2. When GoogleCredentials can't be loaded, log it at FINE
|
|
This reverts commit 8e9d4cbe5cb455315e55846e91706cccecb4b577.
|
|
This keeps them more secure. Other types of creds are left as-is, since
we don't quite know if it makes sense to have a similar restriction. (It
likely does make sense, but this is a more precise change for our
needs.)
|
|
|
|
|
|
|
|
|
|
This avoids using DelayedStream and a thread hop when the credentials
are known immediately.
|
|
Fixes #3267
|
|
|
|
s/overriden/overridden/g
|
|
As discussed in #1914, we need CallCredentials and MoreCallCredentials
to be stable, but there's less of a strong need for the contents of
CallCredentials to be stable. We're willing to commit to the name,
without needing to commit to the plumbing.
|
|
This is important for stable builds, as if the signature changes the old source
may no longer validate.
|
|
|
|
Also, update the authors.
|
|
|
|
Initated package javadoc for
* `io.grpc.stub`,
* `io.grpc.auth`,
* `io.grpc.util`,
* `io.grpc.protobuf`,
* `io.grpc.protobuf.lite`,
* `io.grpc.protobuf.nano`
|
|
The new plugin uses a newer version of animalsniffer, allows overriding
the animalsniffer version used, and has up-to-date handling. The
up-to-date handling cuts fully incremental parallel build times in half,
from 5.5s to 2.7s.
The previous plugin was supposed to be verifying tests. However, either
it wasn't verifying them or its verification was broken.
|
|
|
|
|
|
|
|
|
|
After debugging #2153, it would have been nice to know what the exact
parameter was that was null. This change adds a name for each
checkNotNull (and tries to normalized on static imports in order to
shorten lines)
|
|
We use globs internally to find tests, and weren't finding these two
tests. git ls-files confirmed these were the only two files ending in
Tests.
|
|
JWT needs less configuration and zero round-trips to initialize.
Fixes #785
|
|
This fixed a threading issue in ServerImpl because the unused variable
should have been used.
|
|
It appears some Credentials implementations may return null.
|
|
This partially reverts commit def237d9606cc226f6b523f0818ae2ae664645cf.
This is to avoid breaking internal tests that specifically verify the
behavior of the original implementation.
|
|
It converts Google Auth Library Credentials to CallCredentials, and
supersedes ClientAuthInterceptor, which is now deprecated.
Also swaps out the ClientAuthInterceptor implementation.
Caveat: This in fact changes ClientAuthInterceptor's behavior. Before
this change, if multiple ClientAuthInterceptors were attached, their
effects would be additive. After this change, only the last executed one
would take effect, and it would also overwrite the CallCredentials set
in CallOptions. We don't think it's an issue, since other languages also
only allow one call credentials to be attached to an RPC.
|
|
Resolves #1221
Add ClientCall.cancel(String, Throwable) and deprecate
ClientCall.cancel(). Will delete cancel() after all known third-party
overriders have switched to overriding the new one.
|
|
|
|
|
|
|
|
|
|
Seems no one actually depends on it. Please correct me if I was wrong.
|
|
The URI no longer needs to be provided to the Credential explicitly,
which prevents needing to know a magic string and allows using the same
Credential with multiple services.
|
|
|
|
|
|
implementations.
|
|
- Pass CallOptions to Channel.newCall() and
ClientInterceptor.interceptCall().
- Remove timeout from AbstractStub.StubConfigBuilder and add deadline,
which is stored in a CallOptions inside the stub.
- Deadline is in nanoseconds in the clock defined by System.nanoTime().
It is converted to timeout before transmitting on the wire. Fail the
call with DEADLINE_EXCEEDED if it's already expired.
|
|
|
|
Other classes are already following the convention that ClientFoo for
client-side, and ServerFoo for server-side. Call has been the black
sheep of the family.
- Call -> ClientCall
- Calls -> ClientCalls
- ForwardingCall* -> ForwardingClientCall*
|