diff options
author | unknown <peter@linux.local> | 2002-06-14 15:14:30 +0400 |
---|---|---|
committer | unknown <peter@linux.local> | 2002-06-14 15:14:30 +0400 |
commit | 8451d47ac70f5840ec1d5fcfee2982f2a8cedc49 (patch) | |
tree | f47e08fb9e4c935c0c094ada6d7b5861615d6609 /mysys/sha1.c | |
parent | 2325b78d128dc1052f86a3630b35f0b37d809738 (diff) | |
download | mariadb-git-8451d47ac70f5840ec1d5fcfee2982f2a8cedc49.tar.gz |
This is just code style/minor optimizations cleanup changeset
client/mysqldump.c:
Changes adviced by Monty
include/my_aes.h:
Changes adviced by Monty
include/rijndael.h:
Changes adviced by Monty
include/sha1.h:
Changes adviced by Monty
mysys/my_aes.c:
Changes adviced by Monty
mysys/rijndael.c:
Changes adviced by Monty
mysys/sha1.c:
Changes adviced by Monty
sql/item_strfunc.cc:
Changes adviced by Monty
Diffstat (limited to 'mysys/sha1.c')
-rw-r--r-- | mysys/sha1.c | 104 |
1 files changed, 36 insertions, 68 deletions
diff --git a/mysys/sha1.c b/mysys/sha1.c index f2f59b4de7f..82ccab2c6ce 100644 --- a/mysys/sha1.c +++ b/mysys/sha1.c @@ -1,19 +1,19 @@ -/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - +/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + /* sha1.c Original Source from: http://www.faqs.org/rfcs/rfc3174.html @@ -47,13 +47,15 @@ */ /* - Modified by 2002 by Peter Zaitsev to + Modified 2002 by Peter Zaitsev to - fit to new prototypes according to MySQL standard - Some optimizations - All checking is now done in debug only mode - More comments */ +#include "my_global.h" +#include "m_string.h" #include "sha1.h" /* @@ -160,11 +162,8 @@ int sha1_result( SHA1_CONTEXT *context, #endif SHA1PadMessage(context); - for (i=0; i<64; i++) - { - /* message may be sensitive, clear it out */ - context->Message_Block[i] = 0; - } + /* message may be sensitive, clear it out */ + bzero((char*) context->Message_Block,64); context->Length = 0; /* and clear length */ context->Computed = 1; @@ -174,8 +173,8 @@ int sha1_result( SHA1_CONTEXT *context, for (i = 0; i < SHA1_HASH_SIZE; i++) { - Message_Digest[i] = context->Intermediate_Hash[i>>2] - >> 8 * ( 3 - ( i & 0x03 ) ); + Message_Digest[i] = (context->Intermediate_Hash[i>>2] >> 8 + * ( 3 - ( i & 0x03 ) )); } return SHA_SUCCESS; @@ -225,12 +224,9 @@ int sha1_input(SHA1_CONTEXT *context, const uint8 *message_array, { return context->Corrupted; } - while (length-- && !context->Corrupted) - -#else - while (length--) #endif + while (length--) { context->Message_Block[context->Message_Block_Index++] = (*message_array & 0xFF); @@ -245,6 +241,7 @@ int sha1_input(SHA1_CONTEXT *context, const uint8 *message_array, { /* Message is too long */ context->Corrupted = 1; + return 1; } #endif @@ -252,10 +249,9 @@ int sha1_input(SHA1_CONTEXT *context, const uint8 *message_array, { SHA1ProcessMessageBlock(context); } - - message_array++; + message_array++; } - + return SHA_SUCCESS; } @@ -281,8 +277,9 @@ int sha1_input(SHA1_CONTEXT *context, const uint8 *message_array, */ +/* Constants defined in SHA-1 */ static const uint32 K[]= -{ /* Constants defined in SHA-1 */ +{ 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, @@ -312,7 +309,7 @@ void SHA1ProcessMessageBlock(SHA1_CONTEXT *context) } - for(t = 16; t < 80; t++) + for (t = 16; t < 80; t++) { W[t] = SHA1CircularShift(1,W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16]); } @@ -323,7 +320,7 @@ void SHA1ProcessMessageBlock(SHA1_CONTEXT *context) D = context->Intermediate_Hash[3]; E = context->Intermediate_Hash[4]; - for(t = 0; t < 20; t++) + for (t = 0; t < 20; t++) { temp = SHA1CircularShift(5,A) + ((B & C) | ((~B) & D)) + E + W[t] + K[0]; @@ -334,7 +331,7 @@ void SHA1ProcessMessageBlock(SHA1_CONTEXT *context) A = temp; } - for(t = 20; t < 40; t++) + for (t = 20; t < 40; t++) { temp = SHA1CircularShift(5,A) + (B ^ C ^ D) + E + W[t] + K[1]; E = D; @@ -344,7 +341,7 @@ void SHA1ProcessMessageBlock(SHA1_CONTEXT *context) A = temp; } - for(t = 40; t < 60; t++) + for (t = 40; t < 60; t++) { temp = SHA1CircularShift(5,A) + ((B & C) | (B & D) | (C & D)) + E + W[t] + K[2]; @@ -355,7 +352,7 @@ void SHA1ProcessMessageBlock(SHA1_CONTEXT *context) A = temp; } - for(t = 60; t < 80; t++) + for (t = 60; t < 80; t++) { temp = SHA1CircularShift(5,A) + (B ^ C ^ D) + E + W[t] + K[3]; E = D; @@ -408,33 +405,6 @@ void SHA1PadMessage(SHA1_CONTEXT *context) block. */ -#ifdef SHA_OLD_CODE - - if (context->Message_Block_Index > 55) - { - context->Message_Block[context->Message_Block_Index++] = 0x80; - while (context->Message_Block_Index < 64) - { - context->Message_Block[context->Message_Block_Index++] = 0; - } - - SHA1ProcessMessageBlock(context); - - while (context->Message_Block_Index < 56) - { - context->Message_Block[context->Message_Block_Index++] = 0; - } - } - else - { - context->Message_Block[context->Message_Block_Index++] = 0x80; - while (context->Message_Block_Index < 56) - { - context->Message_Block[context->Message_Block_Index++] = 0; - } - } - -#else int i=context->Message_Block_Index; if (i > 55) @@ -444,9 +414,9 @@ void SHA1PadMessage(SHA1_CONTEXT *context) sizeof(context->Message_Block[0])*(64-i)); context->Message_Block_Index=64; - SHA1ProcessMessageBlock(context); - /* This function sets context->Message_Block_Index to zero */ + SHA1ProcessMessageBlock(context); + bzero((char*) &context->Message_Block[0], sizeof(context->Message_Block[0])*56); context->Message_Block_Index=56; @@ -460,8 +430,6 @@ void SHA1PadMessage(SHA1_CONTEXT *context) context->Message_Block_Index=56; } -#endif - /* Store the message length as the last 8 octets */ |