Dan Burkert has submitted this change and it was merged. Change subject: TLS-negotiation [6/n]: Refactor RPC negotiation ......................................................................
TLS-negotiation [6/n]: Refactor RPC negotiation The KRPC negotiation process now encompasses more than just SASL authentication. Feature flags are negotiated, and soon TLS encryption will be negotiated as well. In anticipation of TLS negotiation, this commit refactors the SaslClient and SaslServer classes to better reflect their role. Additionally, the Connection class now has less responsibility and knowledge of negotiation. Instead, the existing logic in negotiation.cc has been beefed up to serve as the glue between the ClientNegotiation and ServerNegotiation classes (which have no knowledge of Connection), and Connection (which now has no knowledge of ClientNegotiation/ServerNegotiation). Hopefully this will lead to more maintainable code in the long term. It is expected that this refactor will make TLS-negotiation an easy add-on. Change-Id: I567b62f3341a1e74342c30c76b63f2ca5d7990bd Reviewed-on: http://gerrit.cloudera.org:8080/5760 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon <[email protected]> Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/rpc/client_negotiation.cc M src/kudu/rpc/client_negotiation.h M src/kudu/rpc/connection.cc M src/kudu/rpc/connection.h M src/kudu/rpc/messenger.cc M src/kudu/rpc/negotiation-test.cc M src/kudu/rpc/negotiation.cc M src/kudu/rpc/negotiation.h M src/kudu/rpc/reactor.cc M src/kudu/rpc/reactor.h M src/kudu/rpc/rpc-test.cc M src/kudu/rpc/sasl_common.cc M src/kudu/rpc/sasl_common.h M src/kudu/rpc/sasl_helper.cc M src/kudu/rpc/sasl_helper.h M src/kudu/rpc/server_negotiation.cc M src/kudu/rpc/server_negotiation.h M src/kudu/security/ssl_socket.cc M src/kudu/security/ssl_socket.h 19 files changed, 1,057 insertions(+), 1,229 deletions(-) Approvals: Todd Lipcon: Looks good to me, approved Alexey Serbin: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/5760 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I567b62f3341a1e74342c30c76b63f2ca5d7990bd Gerrit-PatchSet: 14 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <[email protected]>
