Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: net/ntlm/des.cc

Issue 2873673002: Add unit tests for NTLMv1 portable implementation (Closed)
Patch Set: Review feedback Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/http/des.h" 5 #include "net/ntlm/des.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "crypto/openssl_util.h" 8 #include "crypto/openssl_util.h"
9 #include "third_party/boringssl/src/include/openssl/des.h" 9 #include "third_party/boringssl/src/include/openssl/des.h"
10 10
11 // The iOS version of DESEncrypt is our own code. 11 // The iOS version of DESEncrypt is our own code.
12 // DESSetKeyParity and DESMakeKey are based on 12 // DESSetKeyParity and DESMakeKey are based on
13 // mozilla/security/manager/ssl/src/nsNTLMAuthModule.cpp, CVS rev. 1.14. 13 // mozilla/security/manager/ssl/src/nsNTLMAuthModule.cpp, CVS rev. 1.14.
14 14
15 /* ***** BEGIN LICENSE BLOCK ***** 15 /* ***** BEGIN LICENSE BLOCK *****
(...skipping 25 matching lines...) Expand all
41 * of those above. If you wish to allow use of your version of this file only 41 * of those above. If you wish to allow use of your version of this file only
42 * under the terms of either the GPL or the LGPL, and not to allow others to 42 * under the terms of either the GPL or the LGPL, and not to allow others to
43 * use your version of this file under the terms of the MPL, indicate your 43 * use your version of this file under the terms of the MPL, indicate your
44 * decision by deleting the provisions above and replace them with the notice 44 * decision by deleting the provisions above and replace them with the notice
45 * and other provisions required by the GPL or the LGPL. If you do not delete 45 * and other provisions required by the GPL or the LGPL. If you do not delete
46 * the provisions above, a recipient may use your version of this file under 46 * the provisions above, a recipient may use your version of this file under
47 * the terms of any one of the MPL, the GPL or the LGPL. 47 * the terms of any one of the MPL, the GPL or the LGPL.
48 * 48 *
49 * ***** END LICENSE BLOCK ***** */ 49 * ***** END LICENSE BLOCK ***** */
50 50
51 /* clang-format off */
Ryan Sleevi 2017/07/13 17:39:54 I would move this to line 14
zentaro 2017/07/13 18:20:31 Done.
52
51 // Set odd parity bit (in least significant bit position). 53 // Set odd parity bit (in least significant bit position).
52 static uint8_t DESSetKeyParity(uint8_t x) { 54 static uint8_t DESSetKeyParity(uint8_t x) {
53 if ((((x >> 7) ^ (x >> 6) ^ (x >> 5) ^ 55 if ((((x >> 7) ^ (x >> 6) ^ (x >> 5) ^
54 (x >> 4) ^ (x >> 3) ^ (x >> 2) ^ 56 (x >> 4) ^ (x >> 3) ^ (x >> 2) ^
55 (x >> 1)) & 0x01) == 0) { 57 (x >> 1)) & 0x01) == 0) {
56 x |= 0x01; 58 x |= 0x01;
57 } else { 59 } else {
58 x &= 0xfe; 60 x &= 0xfe;
59 } 61 }
60 return x; 62 return x;
(...skipping 17 matching lines...) Expand all
78 80
79 DES_key_schedule ks; 81 DES_key_schedule ks;
80 DES_set_key( 82 DES_set_key(
81 reinterpret_cast<const DES_cblock*>(key), &ks); 83 reinterpret_cast<const DES_cblock*>(key), &ks);
82 84
83 DES_ecb_encrypt(reinterpret_cast<const DES_cblock*>(src), 85 DES_ecb_encrypt(reinterpret_cast<const DES_cblock*>(src),
84 reinterpret_cast<DES_cblock*>(hash), &ks, DES_ENCRYPT); 86 reinterpret_cast<DES_cblock*>(hash), &ks, DES_ENCRYPT);
85 } 87 }
86 88
87 } // namespace net 89 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698