Skip to content

binder: Introduce server pre-authorization #12127

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 80 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
3d03902
Create jules-setup.sh
jdcormie Mar 22, 2025
d31d488
Update jules-setup.sh
jdcormie Mar 22, 2025
4bf794c
Create jules-run-tests.sh
jdcormie Mar 22, 2025
3996eda
Update jules-setup.sh
jdcormie Mar 22, 2025
5107080
Update jules-setup.sh
jdcormie Mar 22, 2025
17b3d84
Merge branch 'grpc:master' into master
jdcormie Apr 11, 2025
a684359
binder: Optionally pre-authorize servers using their PackageManager i…
jdcormie May 2, 2025
7cc704d
Cut the pre-auth-required attribute for now.
jdcormie May 2, 2025
80c9b90
undo java format
jdcormie May 2, 2025
71943c6
undo default enabled
jdcormie May 2, 2025
af3ff6c
move/update the comment
jdcormie May 6, 2025
a0e76af
remove jules
jdcormie Jun 3, 2025
0c49469
javadoc
jdcormie Jun 3, 2025
bde880f
Leave TARGET_SERVICE_INFO for a follow up
jdcormie Jun 3, 2025
9ec685b
resolve() throws
jdcormie Jun 3, 2025
454eebb
Merge branch 'keep-alive' of https://github.com/jdcormie/grpc-java in…
jdcormie Jun 3, 2025
b2b006b
Test with and without preauth
jdcormie Jun 3, 2025
741ef76
ServiceBinding docs/tests
jdcormie Jun 3, 2025
2eb26ec
unused imports
jdcormie Jun 3, 2025
148457d
doc tweaks
jdcormie Jun 3, 2025
56c6f90
doc tweaks
jdcormie Jun 3, 2025
49ee878
java format
jdcormie Jun 3, 2025
2632951
comment
jdcormie Jun 3, 2025
5928c45
format
jdcormie Jun 3, 2025
daddd3c
hide reflection mess in a static method
jdcormie Jun 3, 2025
c2a7596
experimental
jdcormie Jun 3, 2025
6658220
Add pre-auth override EAG attr and tests
jdcormie Jun 10, 2025
bac0877
Don't commit to a roll out plan
jdcormie Jun 10, 2025
9281c2b
Add testResolveNonExistentServiceWithTargetuserThrows
jdcormie Jun 10, 2025
c34c815
java format
jdcormie Jun 10, 2025
295d537
builder required fields
jdcormie Jun 10, 2025
df0b824
order test for readability
jdcormie Jun 10, 2025
67c2c93
Don't set the ready timeout if we fail to resolve.
jdcormie Jun 10, 2025
87f1c13
unnecessary this
jdcormie Jun 11, 2025
206570c
undo startInternal to minimize diff
jdcormie Jun 11, 2025
a491c47
override
jdcormie Jun 11, 2025
985fb20
xds: Don't allow hostnames in address field (#12123)
ejona86 Jun 5, 2025
2324d1a
Move all test helper classes out of AbstractTransportTest so they can…
jdcormie Jun 5, 2025
de9414d
xds: Fix XdsDepManager aggregate cluster child ordering and loop dete…
ejona86 May 29, 2025
3183545
binder: Rationalize @ThreadSafe-ty of BinderTransport. (#12130)
jdcormie Jun 6, 2025
d43d66e
Create SPIFFE tests config (#12133)
eshitachandwani Jun 6, 2025
368c834
xds: Use tracing GC in XdsDepManager
ejona86 May 30, 2025
01c5630
xds: cancelled=true on watch close in XdsDepManager
ejona86 Jun 7, 2025
58f0bed
xds: Don't cache rdsName in XdsDepManager
ejona86 May 31, 2025
33b65e0
compiler: generate blocking v2 unary calls that throw StatusException…
shivaspeaks Jun 10, 2025
6e93b08
xds: Convert CdsLb to XdsDepManager
ejona86 Jun 11, 2025
c4ab6b7
google-java-format a line that was too long (#12147)
jdcormie Jun 11, 2025
18c3853
rls: Refactor estimatedSizeBytes updates (#12145)
ejona86 Jun 12, 2025
3df2713
util: In OutlierDetectionLb, don't box longs if they can't be null
ejona86 Jun 10, 2025
11dde66
bazel: Migrate java_grpc_library to use DefaultInfo (#12148)
dws Jun 12, 2025
8d95298
core: Use lazy message formatting in checkState (#12144)
shivaspeaks Jun 13, 2025
8e86bd9
xds: Avoid changing cache when watching children in XdsDepManager
ejona86 May 31, 2025
173024a
core: Remove RetryingNR.RESOLUTION_RESULT_LISTENER_KEY
ejona86 Jun 12, 2025
326d992
util: Mark OutlierDetectionLb classes final
ejona86 Jun 13, 2025
37f874f
xds: Support tracking non-xds resources in XdsDepManager
ejona86 Jun 12, 2025
43462af
util: OutlierDetection should use Ticker, not TimeProvider (#12110)
vimanikag Jun 16, 2025
8ccd7d4
xds: XdsNR should be subscribing to clusters with XdsDepManager
ejona86 Jun 13, 2025
d9bc018
util: Deliver addresses in a random order in MultiChildLb
ejona86 Jun 17, 2025
7b8bd93
xds: Add logical dns cluster support to XdsDepManager
ejona86 Jun 12, 2025
8e9edc7
Mark a few test helper methods as @CanIgnoreReturnValue (#12162)
jdcormie Jun 18, 2025
32b23f3
binder: stops emulating for 21/22 Lollipop in tests
zhangkun83 Jun 18, 2025
948a4ec
download maven using archive/permalink url (#12169)
jdcormie Jun 23, 2025
58e38d0
binder: Cancel checkAuthorization() request if still pending upon ter…
jdcormie Jun 23, 2025
f17ebe1
release: Migrate artifacts publishing from legacy OSSRH to Central Po…
shivaspeaks Jun 24, 2025
da00831
xds: Disable LOGICAL_DNS in XdsDepMan until used
ejona86 Jun 23, 2025
dc5076c
Start 1.75.0 development cycle
ejona86 Jun 24, 2025
fd23def
core: Rely on ping-pong for flow control testing
ejona86 Jun 24, 2025
3a20cc0
11243: RLS cleanups (#12085)
vimanikag Jun 25, 2025
f719b9c
binder: Optionally pre-authorize servers using their PackageManager i…
jdcormie May 2, 2025
6b0eb2b
Add pre-auth override EAG attr and tests
jdcormie Jun 10, 2025
b88c8e9
java format
jdcormie Jun 10, 2025
5517904
undo some merging mistakes
jdcormie Jun 27, 2025
c005d72
Address comments from CR/769886275
jdcormie Jun 27, 2025
aafa682
Merge branch 'master' into keep-alive
jdcormie Jun 28, 2025
20f3f42
Address more review comments.
jdcormie Jun 28, 2025
a634f0c
wordsmith javadoc
jdcormie Jun 28, 2025
403895f
fill in exp tracking issue
jdcormie Jun 28, 2025
1aa8557
Actually use the new test fixture everywhere
jdcormie Jun 28, 2025
1be801f
google-java-format
jdcormie Jun 28, 2025
07f0a8f
last rewrite
jdcormie Jun 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
java format
  • Loading branch information
jdcormie committed Jun 3, 2025
commit 49ee8784ba0282c8e474a7b59ced692d4b10f1ca
6 changes: 3 additions & 3 deletions binder/src/main/java/io/grpc/binder/BinderChannelBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -289,9 +289,9 @@ public BinderChannelBuilder strictLifecycleManagement() {
* <p>Android users can be tricked into installing a malicious app with the same package name as a
* legitimate server. That's why we don't send calls to a server until it has been authorized by
* an appropriate {@link SecurityPolicy}. But merely binding to a malicious server can enable
* "keep-alive" and "background activity launch" abuse, even if security policy ultimately
* causes the grpc connection to fail. Pre-authorization is especially important for security when
* the server's address isn't known in advance but rather resolved via target URI or discovered by
* "keep-alive" and "background activity launch" abuse, even if security policy ultimately causes
* the grpc connection to fail. Pre-authorization is especially important for security when the
* server's address isn't known in advance but rather resolved via target URI or discovered by
* other means.
*
* <p>Note that, unlike ordinary authorization, pre-authorization is performed against the server
Expand Down
1 change: 0 additions & 1 deletion binder/src/main/java/io/grpc/binder/internal/Bindable.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import android.os.IBinder;
import androidx.annotation.AnyThread;
import androidx.annotation.MainThread;
import com.google.common.util.concurrent.ListenableFuture;
import io.grpc.Status;
import io.grpc.StatusException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@
import io.grpc.Status;
import io.grpc.StatusException;
import io.grpc.binder.AndroidComponentAddress;
import io.grpc.binder.ApiConstants;
import io.grpc.binder.AsyncSecurityPolicy;
import io.grpc.binder.InboundParcelablePolicy;
import io.grpc.binder.SecurityPolicy;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ public final class RobolectricBinderTransportTest extends AbstractTransportTest

private int nextServerAddress;

@Parameter
public boolean preAuthorizeServers;
@Parameter public boolean preAuthorizeServers;

@Parameters(name = "preAuthorizeServers={0}")
public static ImmutableList<Boolean> data() {
Expand Down