| OLD | NEW |
| 1 /* ***** BEGIN LICENSE BLOCK ***** | 1 /* ***** BEGIN LICENSE BLOCK ***** |
| 2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 3 * | 3 * |
| 4 * The contents of this file are subject to the Mozilla Public License Version | 4 * The contents of this file are subject to the Mozilla Public License Version |
| 5 * 1.1 (the "License"); you may not use this file except in compliance with | 5 * 1.1 (the "License"); you may not use this file except in compliance with |
| 6 * the License. You may obtain a copy of the License at | 6 * the License. You may obtain a copy of the License at |
| 7 * http://www.mozilla.org/MPL/ | 7 * http://www.mozilla.org/MPL/ |
| 8 * | 8 * |
| 9 * Software distributed under the License is distributed on an "AS IS" basis, | 9 * Software distributed under the License is distributed on an "AS IS" basis, |
| 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License | 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 * under the terms of either the GPL or the LGPL, and not to allow others to | 29 * under the terms of either the GPL or the LGPL, and not to allow others to |
| 30 * use your version of this file under the terms of the MPL, indicate your | 30 * use your version of this file under the terms of the MPL, indicate your |
| 31 * decision by deleting the provisions above and replace them with the notice | 31 * decision by deleting the provisions above and replace them with the notice |
| 32 * and other provisions required by the GPL or the LGPL. If you do not delete | 32 * and other provisions required by the GPL or the LGPL. If you do not delete |
| 33 * the provisions above, a recipient may use your version of this file under | 33 * the provisions above, a recipient may use your version of this file under |
| 34 * the terms of any one of the MPL, the GPL or the LGPL. | 34 * the terms of any one of the MPL, the GPL or the LGPL. |
| 35 * | 35 * |
| 36 * ***** END LICENSE BLOCK ***** */ | 36 * ***** END LICENSE BLOCK ***** */ |
| 37 | 37 |
| 38 /* | 38 /* |
| 39 * $Id: camellia.c,v 1.2 2008/11/18 19:48:22 rrelyea%redhat.com Exp $ | 39 * $Id: camellia.c,v 1.3 2010/04/30 00:10:53 wtc%google.com Exp $ |
| 40 */ | 40 */ |
| 41 | 41 |
| 42 #ifdef FREEBL_NO_DEPEND | 42 #ifdef FREEBL_NO_DEPEND |
| 43 #include "stubs.h" | 43 #include "stubs.h" |
| 44 #endif | 44 #endif |
| 45 | 45 |
| 46 #include "prinit.h" | 46 #include "prinit.h" |
| 47 #include "prerr.h" | 47 #include "prerr.h" |
| 48 #include "secerr.h" | 48 #include "secerr.h" |
| 49 | 49 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 65 #define CAMELLIA_SIGMA5L (0x10E527FAL) | 65 #define CAMELLIA_SIGMA5L (0x10E527FAL) |
| 66 #define CAMELLIA_SIGMA5R (0xDE682D1DL) | 66 #define CAMELLIA_SIGMA5R (0xDE682D1DL) |
| 67 #define CAMELLIA_SIGMA6L (0xB05688C2L) | 67 #define CAMELLIA_SIGMA6L (0xB05688C2L) |
| 68 #define CAMELLIA_SIGMA6R (0xB3E6C1FDL) | 68 #define CAMELLIA_SIGMA6R (0xB3E6C1FDL) |
| 69 | 69 |
| 70 /* | 70 /* |
| 71 * macros | 71 * macros |
| 72 */ | 72 */ |
| 73 | 73 |
| 74 | 74 |
| 75 #if defined(_MSC_VER) | 75 #if defined(_MSC_VER) && defined(NSS_X86_OR_X64) |
| 76 |
| 77 /* require a little-endian CPU that allows unaligned access */ |
| 76 | 78 |
| 77 # define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00) | 79 # define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00) |
| 78 # define GETU32(p) SWAP(*((PRUint32 *)(p))) | 80 # define GETU32(p) SWAP(*((PRUint32 *)(p))) |
| 79 # define PUTU32(ct, st) {*((PRUint32 *)(ct)) = SWAP((st));} | 81 # define PUTU32(ct, st) {*((PRUint32 *)(ct)) = SWAP((st));} |
| 80 | 82 |
| 81 #else /* not MS-VC */ | 83 #else /* not MSVC or not x86/x64 */ |
| 82 | 84 |
| 83 # define GETU32(pt) \ | 85 # define GETU32(pt) \ |
| 84 (((PRUint32)(pt)[0] << 24) \ | 86 (((PRUint32)(pt)[0] << 24) \ |
| 85 ^ ((PRUint32)(pt)[1] << 16) \ | 87 ^ ((PRUint32)(pt)[1] << 16) \ |
| 86 ^ ((PRUint32)(pt)[2] << 8) \ | 88 ^ ((PRUint32)(pt)[2] << 8) \ |
| 87 ^ ((PRUint32)(pt)[3])) | 89 ^ ((PRUint32)(pt)[3])) |
| 88 | 90 |
| 89 # define PUTU32(ct, st) { \ | 91 # define PUTU32(ct, st) { \ |
| 90 (ct)[0] = (PRUint8)((st) >> 24); \ | 92 (ct)[0] = (PRUint8)((st) >> 24); \ |
| 91 (ct)[1] = (PRUint8)((st) >> 16); \ | 93 (ct)[1] = (PRUint8)((st) >> 16); \ |
| (...skipping 1694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1786 } | 1788 } |
| 1787 if (maxOutputLen < inputLen) { | 1789 if (maxOutputLen < inputLen) { |
| 1788 PORT_SetError(SEC_ERROR_OUTPUT_LEN); | 1790 PORT_SetError(SEC_ERROR_OUTPUT_LEN); |
| 1789 return SECFailure; | 1791 return SECFailure; |
| 1790 } | 1792 } |
| 1791 *outputLen = inputLen; | 1793 *outputLen = inputLen; |
| 1792 | 1794 |
| 1793 return (*cx->worker)(cx, output, outputLen, maxOutputLen, | 1795 return (*cx->worker)(cx, output, outputLen, maxOutputLen, |
| 1794 input, inputLen); | 1796 input, inputLen); |
| 1795 } | 1797 } |
| OLD | NEW |