From b40cef7ca5d2dcd808284ad13e1c19acc8e16367 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Fri, 8 Mar 2019 18:14:39 +0100 Subject: [PATCH] msg/async, v2: dissect setting stream handlers into ::finish_auth(). Signed-off-by: Radoslaw Zarzynski --- src/msg/async/ProtocolV2.cc | 15 +++++++++------ src/msg/async/ProtocolV2.h | 2 ++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc index 236539df50c..f07a6b8192c 100644 --- a/src/msg/async/ProtocolV2.cc +++ b/src/msg/async/ProtocolV2.cc @@ -2156,17 +2156,12 @@ CtPtr ProtocolV2::_handle_auth_request(bufferlist& auth_payload, bool more) } if (r == 1) { INTERCEPT(10); - - ceph_assert(auth_meta); - session_stream_handlers = \ - ceph::crypto::onwire::rxtx_t::create_handler_pair(cct, *auth_meta, true); - state = SESSION_ACCEPTING; auto auth_done = AuthDoneFrame::Encode(connection->peer_global_id, auth_meta->con_mode, reply); - return WRITE(auth_done, "auth done", read_frame); + return WRITE(auth_done, "auth done", finish_auth); } else if (r == 0) { state = AUTH_ACCEPTING_MORE; @@ -2180,6 +2175,14 @@ CtPtr ProtocolV2::_handle_auth_request(bufferlist& auth_payload, bool more) } } +CtPtr ProtocolV2::finish_auth() +{ + ceph_assert(auth_meta); + session_stream_handlers = \ + ceph::crypto::onwire::rxtx_t::create_handler_pair(cct, *auth_meta, true); + return CONTINUE(read_frame); +} + CtPtr ProtocolV2::handle_auth_request_more(ceph::bufferlist &payload) { ldout(cct, 20) << __func__ diff --git a/src/msg/async/ProtocolV2.h b/src/msg/async/ProtocolV2.h index 3f779012ab2..8e166a79c14 100644 --- a/src/msg/async/ProtocolV2.h +++ b/src/msg/async/ProtocolV2.h @@ -148,6 +148,7 @@ private: Ct *handle_hello(ceph::bufferlist &payload); CONTINUATION_DECL(ProtocolV2, read_frame); + CONTINUATION_DECL(ProtocolV2, finish_auth); READ_HANDLER_CONTINUATION_DECL(ProtocolV2, handle_read_frame_preamble_main); READ_HANDLER_CONTINUATION_DECL(ProtocolV2, handle_read_frame_segment); READ_HANDLER_CONTINUATION_DECL(ProtocolV2, handle_read_frame_epilogue_main); @@ -156,6 +157,7 @@ private: CONTINUATION_DECL(ProtocolV2, throttle_dispatch_queue); Ct *read_frame(); + Ct *finish_auth(); Ct *handle_read_frame_preamble_main(char *buffer, int r); Ct *read_frame_segment(); Ct *handle_read_frame_segment(char *buffer, int r); -- 2.47.3