Skip to content
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

netty: Per-rpc call option authority verification against peer cert subject names #11724

Merged
merged 81 commits into from
Feb 24, 2025

Conversation

kannanjgithub
Copy link
Contributor

No description provided.

@kannanjgithub kannanjgithub requested a review from ejona86 December 4, 2024 13:23
@kannanjgithub
Copy link
Contributor Author

I don't know what this error is about:

java/netty/src/main/java/io/grpc/netty/ProtocolNegotiators.java:621:18: 'public' modifier out of order with the JLS suggestions. [ModifierOrder]

@ejona86
Copy link
Member

ejona86 commented Dec 9, 2024

synchronized public boolean mayBeVerifyAuthority should have "public" first: public synchronized boolean mayBeVerifyAuthority.

JLS == Java Language Specification

The relevant part of the style guide:
https://google.github.io/styleguide/javaguide.html#s4.8.7-modifiers
But checkstyle also links to some useful things:
https://checkstyle.sourceforge.io/checks/modifier/modifierorder.html

@kannanjgithub
Copy link
Contributor Author

I'm now only doing the authority verification if the transport authority is different from the one in the headers.

I do think we should set the attribute in most of the built-in negotiators, but ALTS and S2A would probably be without it for now.

As a subsequent work I assume.

After the changes to disallow authority override without having a verifier in the attributes, the FakeControlPlaneIntegrationTest which doesn't use Tls but plain text transport is failing. Is it ok to introduce a system property to allow authority override without a verifier and set it from the integration test?

Copy link
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before we merge, let's run some tests inside Google to make sure this doesn't break anything. (Since the risk is high, it is better to run them before merging to avoid needing to revert the PR.) I'll start them today.

Copy link
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test run inside Google looked good

@kannanjgithub kannanjgithub merged commit cdab410 into grpc:master Feb 24, 2025
15 of 16 checks passed
@kannanjgithub kannanjgithub deleted the authoritychecktls branch February 24, 2025 14:58
AshZhang pushed a commit to AshZhang/grpc-java that referenced this pull request Feb 24, 2025
…grpc#11724)

Per-rpc verification of authority specified via call options or set by the LB API against peer cert's subject names.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants