diff options
author | unknown <peter@linux.local> | 2002-06-11 13:37:48 +0400 |
---|---|---|
committer | unknown <peter@linux.local> | 2002-06-11 13:37:48 +0400 |
commit | b6afdd09dbbfc37085061a421170c0585bb54f0d (patch) | |
tree | b7b63c5072690768a1b6914399e49cc5422ea4ec /include/sha1.h | |
parent | 15c99d52a2037d2a3f0b909dacd56aded6802c8b (diff) | |
download | mariadb-git-b6afdd09dbbfc37085061a421170c0585bb54f0d.tar.gz |
This changeset is mostly new version of previous commit modified according
to Monty's code style and optimization comments
client/client_priv.h:
New value for --single-transaction option
client/mysqldump.c:
Add --single-transaction option for consistent dumps
mysql-test/r/func_str.result:
New functions test results
mysql-test/t/func_str.test:
Tests for SHA/AES functions
mysys/Makefile.am:
Extra files require compilation now
sql/item_create.cc:
New functions
sql/item_create.h:
New functions
sql/item_strfunc.cc:
Implementation of SHA/AES_ENCRYPT/AES_DECRYPT
sql/item_strfunc.h:
Required class definition
sql/lex.h:
Add symbols for implemented functions
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'include/sha1.h')
-rw-r--r-- | include/sha1.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/include/sha1.h b/include/sha1.h new file mode 100644 index 00000000000..ed3fbaf0f2a --- /dev/null +++ b/include/sha1.h @@ -0,0 +1,85 @@ +/* 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.h + + Description: + This is the header file for code which implements the Secure + Hashing Algorithm 1 as defined in FIPS PUB 180-1 published + April 17, 1995. + + Many of the variable names in this code, especially the + single character names, were used because those were the names + used in the publication. + + Please read the file sha1.c for more information. + +*/ + +/* Modified 2002 by Peter Zaitsev to better follow MySQL standards */ + + +#ifndef _SHA1_H_ +#define _SHA1_H_ + +#include "my_global.h" + +/* Required for uint32, uint8, int16 ulonglong types */ + +enum sha_result_codes +{ + SHA_SUCCESS = 0, + SHA_NULL, /* Null pointer parameter */ + SHA_INPUT_TOO_LONG, /* input data too long */ + SHA_STATE_ERROR /* called Input after Result */ +}; + +#define SHA1_HASH_SIZE 20 /* Hash size in bytes */ + +/* + This structure will hold context information for the SHA-1 + hashing operation + */ +typedef struct SHA1_CONTEXT +{ + ulonglong Length; /* Message length in bits */ + uint32 Intermediate_Hash[SHA1_HASH_SIZE/4]; /* Message Digest */ + int Computed; /* Is the digest computed? */ + int Corrupted; /* Is the message digest corrupted? */ + int16 Message_Block_Index; /* Index into message block array */ + uint8 Message_Block[64]; /* 512-bit message blocks */ +} SHA1_CONTEXT; + +/* + * Function Prototypes + */ + + +#ifdef __cplusplus +extern "C" { +#endif + +int sha1_reset( SHA1_CONTEXT* ); +int sha1_input( SHA1_CONTEXT*, const uint8 *, unsigned int ); +int sha1_result( SHA1_CONTEXT* , uint8 Message_Digest[SHA1_HASH_SIZE] ); + +#ifdef __cplusplus +} +#endif + +#endif |