summaryrefslogtreecommitdiff
path: root/include/sha1.h
diff options
context:
space:
mode:
authorunknown <peter@linux.local>2002-06-11 13:37:48 +0400
committerunknown <peter@linux.local>2002-06-11 13:37:48 +0400
commitb6afdd09dbbfc37085061a421170c0585bb54f0d (patch)
treeb7b63c5072690768a1b6914399e49cc5422ea4ec /include/sha1.h
parent15c99d52a2037d2a3f0b909dacd56aded6802c8b (diff)
downloadmariadb-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.h85
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