]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: remove redundant signature compare in LocalEngine::authenticate 19676/head
authorBingyin Zhang <zhangbingyin@cloudin.cn>
Mon, 25 Dec 2017 09:12:10 +0000 (17:12 +0800)
committerBingyin Zhang <zhangbingyin@cloudin.cn>
Mon, 25 Dec 2017 09:12:10 +0000 (17:12 +0800)
Signed-off-by: Bingyin Zhang <zhangbingyin@cloudin.cn>
src/rgw/rgw_rest_s3.cc

index 93a20087d607e3d74336e4ec6a1bf7db92e8a713..5889e30ae034c0cedf8b74d7a56f6e59bb9b880b 100644 (file)
@@ -4177,15 +4177,16 @@ rgw::auth::s3::LocalEngine::authenticate(
 
   const VersionAbstractor::server_signature_t server_signature = \
     signature_factory(cct, k.key, string_to_sign);
+  auto compare = signature.compare(server_signature);
 
   ldout(cct, 15) << "string_to_sign="
                  << rgw::crypt_sanitize::log_content{string_to_sign}
                  << dendl;
   ldout(cct, 15) << "server signature=" << server_signature << dendl;
   ldout(cct, 15) << "client signature=" << signature << dendl;
-  ldout(cct, 15) << "compare=" << signature.compare(server_signature) << dendl;
+  ldout(cct, 15) << "compare=" << compare << dendl;
 
-  if (static_cast<boost::string_view>(server_signature) != signature) {
+  if (compare != 0) {
     return result_t::deny(-ERR_SIGNATURE_NO_MATCH);
   }