wasphin opened a new pull request, #3481:
URL: https://github.com/apache/brpc/pull/3481

   ### What problem does this PR solve?
   
   Issue Number: resolve 
   
   Problem Summary:
   
   Streaming RPC frames are consumed directly by the streaming parser and do 
not pass through `InputMessenger`'s authentication hook. A stream could also 
accept a frame carrying its ID from a socket other than the socket that created 
the stream.
   
   ### What is changed and the side effects?
   
   Changed:
   
   - Reject streaming frames on server sockets when configured authentication 
has not completed successfully.
   - Expose the socket authentication state needed by the streaming parser.
   - Keep server-accepted streams bound to the socket of their creating RPC and 
reject frames arriving from another socket.
   - Add separate unit tests for direct unauthenticated frame rejection and the 
complete client/server authentication and streaming service path.
   - Use an OS-assigned port in the service-path test to avoid test-environment 
port conflicts.
   
   Side effects:
   - Performance effects: One authentication-state check per server-side 
streaming frame when server authentication is configured, plus a socket 
identity check before dispatching a frame to a stream.
   
   - Breaking backward compatibility: No. Authenticated streaming RPC behavior 
and the wire format are unchanged.
   
   ---
   ### Check List:
   - Please make sure your changes are compilable.
   - When providing us with a new feature, it is best to add related tests.
   - Please follow [Contributor Covenant Code of 
Conduct](https://github.com/apache/brpc/blob/master/CODE_OF_CONDUCT.md).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to