From cbc09458e39f19378777945f52ff7fad247f1e8b Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Mon, 11 Feb 2019 01:09:48 +0100 Subject: [PATCH] msg/async: reset the rx stream handler in ::handle_read_frame_length_and_tag. Signed-off-by: Radoslaw Zarzynski --- src/msg/async/ProtocolV2.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc index 5a856d71c9793..6bdcdc5f81977 100644 --- a/src/msg/async/ProtocolV2.cc +++ b/src/msg/async/ProtocolV2.cc @@ -298,8 +298,6 @@ struct SignedEncryptedFrame : public PayloadFrame { SignedEncryptedFrame(ProtocolV2 &protocol, char *payload, uint32_t length) : PayloadFrame() { - protocol.session_stream_handlers.rx->reset_rx_handler(); - ceph::bufferlist bl; bl.push_back(buffer::create_static(length, payload)); @@ -480,7 +478,6 @@ struct MessageHeaderFrame if (protocol.auth_meta->is_mode_secure()) { ceph_assert(protocol.session_stream_handlers.rx); - protocol.session_stream_handlers.rx->reset_rx_handler(); text = protocol.session_stream_handlers.rx->authenticated_decrypt_update( std::move(text), 8); @@ -1336,6 +1333,11 @@ CtPtr ProtocolV2::handle_read_frame_length_and_tag(char *buffer, int r) { return _fault(); } + if (auth_meta->is_mode_secure()) { + ceph_assert(session_stream_handlers.rx); + session_stream_handlers.rx->reset_rx_handler(); + } + bufferlist bl; bl.push_back(buffer::create_static(sizeof(uint32_t) * 2, buffer)); try { -- 2.39.5