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

Add remote and/or local addresses for unix domain socket #9910

Open
ejona86 opened this issue Feb 23, 2023 · 1 comment
Open

Add remote and/or local addresses for unix domain socket #9910

ejona86 opened this issue Feb 23, 2023 · 1 comment
Milestone

Comments

@ejona86
Copy link
Member

ejona86 commented Feb 23, 2023

This is split out of #9900, which had two pieces. See it for more details. CC @carl-mastrangelo

Unix domain sockets are strange from a local/remote address perspective, as only one of them generally has a well-defined name (file path). We need to see what other languages do, but at the very least for this to be considered completed we should have one of local/remote for both client and server.

Right now apparently the code is missing both, when using KQueue or Epoll, as Netty is not providing either:

{io.grpc.internal.GrpcAttributes.securityLevel=NONE, io.grpc.Grpc.TRANSPORT_ATTR_REMOTE_ADDR=null, io.grpc.Grpc.TRANSPORT_ATTR_LOCAL_ADDR=null}

We might consider enhancing Netty, but that'd probably take some double-checking in how Linux itself handles this. If we think we can't even add addresses (because we find that Netty did it that way "for a good reason"), we need an attribute of some sort to identify UDS connections, so absolute worst-case would be a SocketAddress that just said "this is a UDS connection" without any other information.

@ejona86
Copy link
Member Author

ejona86 commented Apr 25, 2023

Netty now may be adding them. netty/netty#13323

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant