diff options
author | Rahul Sundararaman <rahul.sundararaman@10gen.com> | 2019-06-26 15:46:32 -0400 |
---|---|---|
committer | Rahul Sundararaman <rahul.sundararaman@10gen.com> | 2019-06-27 16:15:40 -0400 |
commit | 92e377508f1656561b64a776faa9c05e7d3fa5bb (patch) | |
tree | 3d9abbb3e5e381e07ef647b95b2f092a6e561ba9 /src/mongo/transport | |
parent | 1df25a3a523a618f5beda4ad8847a325dd6073c4 (diff) | |
download | mongo-92e377508f1656561b64a776faa9c05e7d3fa5bb.tar.gz |
SERVER-41490 Disable OP_MSG checksums for TLS connections
Diffstat (limited to 'src/mongo/transport')
-rw-r--r-- | src/mongo/transport/SConscript | 1 | ||||
-rw-r--r-- | src/mongo/transport/service_state_machine.cpp | 6 | ||||
-rw-r--r-- | src/mongo/transport/service_state_machine.h | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/transport/SConscript b/src/mongo/transport/SConscript index 71e8c4f0f2b..c1ee167dbce 100644 --- a/src/mongo/transport/SConscript +++ b/src/mongo/transport/SConscript @@ -178,6 +178,7 @@ env.Library( LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/traffic_recorder', '$BUILD_DIR/mongo/transport/message_compressor', + '$BUILD_DIR/mongo/util/net/ssl_manager', ], ) diff --git a/src/mongo/transport/service_state_machine.cpp b/src/mongo/transport/service_state_machine.cpp index 8e751d9327c..0d24952f13d 100644 --- a/src/mongo/transport/service_state_machine.cpp +++ b/src/mongo/transport/service_state_machine.cpp @@ -469,7 +469,13 @@ void ServiceStateMachine::_processMessage(ThreadGuard guard) { toSink.header().setId(nextMessageId()); toSink.header().setResponseToMsgId(_inMessage.header().getId()); if (OpMsg::isFlagSet(_inMessage, OpMsg::kChecksumPresent)) { +#ifdef MONGO_CONFIG_SSL + if (!SSLPeerInfo::forSession(_session()).isTLS) { + OpMsg::appendChecksum(&toSink); + } +#else OpMsg::appendChecksum(&toSink); +#endif } // If the incoming message has the exhaust flag set and is a 'getMore' command, then we diff --git a/src/mongo/transport/service_state_machine.h b/src/mongo/transport/service_state_machine.h index ea14b49b71d..a48f4db321d 100644 --- a/src/mongo/transport/service_state_machine.h +++ b/src/mongo/transport/service_state_machine.h @@ -45,6 +45,7 @@ #include "mongo/transport/service_executor_task_names.h" #include "mongo/transport/session.h" #include "mongo/transport/transport_mode.h" +#include "mongo/util/net/ssl_manager.h" namespace mongo { |