From: Radoslaw Zarzynski Date: Fri, 8 Mar 2019 17:14:39 +0000 (+0100) Subject: msg/async, v2: dissect setting stream handlers into ::finish_auth(). X-Git-Tag: v14.2.0~23^2~20 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b40cef7ca5d2dcd808284ad13e1c19acc8e16367;p=ceph.git msg/async, v2: dissect setting stream handlers into ::finish_auth(). Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc index 236539df50cf..f07a6b8192c6 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 3f779012ab2a..8e166a79c14e 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);