]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async, v2: dissect setting stream handlers into ::finish_auth().
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 8 Mar 2019 17:14:39 +0000 (18:14 +0100)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Sun, 10 Mar 2019 00:11:59 +0000 (01:11 +0100)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/msg/async/ProtocolV2.cc
src/msg/async/ProtocolV2.h

index 236539df50cf2a4749ce3e393ce6261b9ba06702..f07a6b8192c6b5876e55c94ab1bda32ffe889a9a 100644 (file)
@@ -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__
index 3f779012ab2add20db7dba89403ebc1fb45e6b55..8e166a79c14e8da1638d89ab06843e29e9b9ef22 100644 (file)
@@ -148,6 +148,7 @@ private:
   Ct<ProtocolV2> *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<ProtocolV2> *read_frame();
+  Ct<ProtocolV2> *finish_auth();
   Ct<ProtocolV2> *handle_read_frame_preamble_main(char *buffer, int r);
   Ct<ProtocolV2> *read_frame_segment();
   Ct<ProtocolV2> *handle_read_frame_segment(char *buffer, int r);