]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Fix byte-order dependency in calculation of initial challenge
authorDan Mick <dan.mick@inktank.com>
Thu, 3 Apr 2014 20:59:59 +0000 (13:59 -0700)
committerSage Weil <sage@inktank.com>
Fri, 4 Apr 2014 01:28:15 +0000 (18:28 -0700)
Fixes: #7977
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/auth/cephx/CephxProtocol.cc

index 5c17dea712ac2dfbf2a32171f05e40bb592e12ee..6956f453fb747c3c2909b35e06b99eb24108964b 100644 (file)
@@ -39,7 +39,7 @@ void cephx_calc_client_server_challenge(CephContext *cct, CryptoKey& secret, uin
   uint64_t k = 0;
   const uint64_t *p = (const uint64_t *)enc.c_str();
   for (int pos = 0; pos + sizeof(k) <= enc.length(); pos+=sizeof(k), p++)
-    k ^= *p;
+    k ^= mswab64(*p);
   *key = k;
 }