aboutsummaryrefslogtreecommitdiffhomepage
path: root/libsha1.h
diff options
context:
space:
mode:
authorGravatar Mikhail Gusarov <dottedmag@dottedmag.net>2009-10-21 21:07:43 -0700
committerGravatar Carl Worth <cworth@cworth.org>2009-10-21 21:33:02 -0700
commit96c0d1c1cb020654fd582509b25d979f2752500f (patch)
tree8cebae6bd20f597cd48e1962579dd6b3d355e544 /libsha1.h
parent16f2e43652e028566d8e552b9c4dd261f7f0e8dc (diff)
Add sha1.c and libsha1.h for doing SHA-1-based message-ID generation.
This code comes courtesy of Brian Gladman and Mikhail Gusarov. Both files are available under the GPL and were downloaded as version 0.2 of libsha1 from git://github.com/dottedmag/libsha1.git with the following commit: commit d0f0e7e0dc5ce2d58972cb5a492183c0d4e58433 Author: Mikhail Gusarov <dottedmag@dottedmag.net> Date: Mon Oct 20 22:38:47 2008 +0700 Version bump. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Diffstat (limited to 'libsha1.h')
-rw-r--r--libsha1.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/libsha1.h b/libsha1.h
new file mode 100644
index 00000000..b4dca93b
--- /dev/null
+++ b/libsha1.h
@@ -0,0 +1,67 @@
+/*
+ ---------------------------------------------------------------------------
+ Copyright (c) 2002, Dr Brian Gladman, Worcester, UK. All rights reserved.
+
+ LICENSE TERMS
+
+ The free distribution and use of this software in both source and binary
+ form is allowed (with or without changes) provided that:
+
+ 1. distributions of this source code include the above copyright
+ notice, this list of conditions and the following disclaimer;
+
+ 2. distributions in binary form include the above copyright
+ notice, this list of conditions and the following disclaimer
+ in the documentation and/or other associated materials;
+
+ 3. the copyright holder's name is not used to endorse products
+ built using this software without specific written permission.
+
+ ALTERNATIVELY, provided that this notice is retained in full, this product
+ may be distributed under the terms of the GNU General Public License (GPL),
+ in which case the provisions of the GPL apply INSTEAD OF those given above.
+
+ DISCLAIMER
+
+ This software is provided 'as is' with no explicit or implied warranties
+ in respect of its properties, including, but not limited to, correctness
+ and/or fitness for purpose.
+ ---------------------------------------------------------------------------
+ Issue Date: 01/08/2005
+*/
+
+#ifndef _SHA1_H
+#define _SHA1_H
+
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+#if 0
+} /* Appleasing Emacs */
+#endif
+
+#include <stdint.h>
+
+/* Size of SHA1 digest */
+
+#define SHA1_DIGEST_SIZE 20
+
+/* type to hold the SHA1 context */
+
+typedef struct
+{ uint32_t count[2];
+ uint32_t hash[5];
+ uint32_t wbuf[16];
+} sha1_ctx;
+
+void sha1_begin(sha1_ctx ctx[1]);
+void sha1_hash(const unsigned char data[], unsigned long len, sha1_ctx ctx[1]);
+void sha1_end(unsigned char hval[], sha1_ctx ctx[1]);
+void sha1(unsigned char hval[], const unsigned char data[], unsigned long len);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif