-/* $Id: md5.c,v 1.2 2000/12/04 01:20:38 tgl Exp $ */
+/* $Id: md5.c,v 1.3 2001/01/09 16:07:13 momjian Exp $ */
+/* $KAME: md5.c,v 1.3 2000/02/22 14:01:17 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
*/
#include <postgres.h>
-#include "pgcrypto.h"
#include "md5.h"
#define MD5_D0 0x10325476
/* Integer part of 4294967296 times abs(sin(i)), where i is in radians. */
-static const uint32_t T[65] = {
+static const uint32 T[65] = {
0,
0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,
0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,
0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391,
};
-static const uint8_t md5_paddat[MD5_BUFLEN] = {
+static const uint8 md5_paddat[MD5_BUFLEN] = {
0x80, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
-static void md5_calc (uint8_t *, md5_ctxt *);
+static void md5_calc (uint8 *, md5_ctxt *);
void md5_init(ctxt)
md5_ctxt *ctxt;
void md5_loop(ctxt, input, len)
md5_ctxt *ctxt;
- uint8_t *input;
+ uint8 *input;
unsigned int len; /* number of bytes */
{
unsigned int gap, i;
md5_calc(ctxt->md5_buf, ctxt);
for (i = gap; i + MD5_BUFLEN <= len; i += MD5_BUFLEN) {
- md5_calc((uint8_t *)(input + i), ctxt);
+ md5_calc((uint8 *)(input + i), ctxt);
}
ctxt->md5_i = len - i;
}
void md5_result(digest, ctxt)
- uint8_t *digest;
+ uint8 *digest;
md5_ctxt *ctxt;
{
/* 4 byte words */
}
#if BYTE_ORDER == BIG_ENDIAN
-uint32_t X[16];
+uint32 X[16];
#endif
static void md5_calc(b64, ctxt)
- uint8_t *b64;
+ uint8 *b64;
md5_ctxt *ctxt;
{
- uint32_t A = ctxt->md5_sta;
- uint32_t B = ctxt->md5_stb;
- uint32_t C = ctxt->md5_stc;
- uint32_t D = ctxt->md5_std;
+ uint32 A = ctxt->md5_sta;
+ uint32 B = ctxt->md5_stb;
+ uint32 C = ctxt->md5_stc;
+ uint32 D = ctxt->md5_std;
#if BYTE_ORDER == LITTLE_ENDIAN
- uint32_t *X = (uint32_t *)b64;
+ uint32 *X = (uint32 *)b64;
#endif
#if BYTE_ORDER == BIG_ENDIAN
/* 4 byte words */
/* what a brute force but fast! */
- uint8_t *y = (uint8_t *)X;
+ uint8 *y = (uint8 *)X;
y[ 0] = b64[ 3]; y[ 1] = b64[ 2]; y[ 2] = b64[ 1]; y[ 3] = b64[ 0];
y[ 4] = b64[ 7]; y[ 5] = b64[ 6]; y[ 6] = b64[ 5]; y[ 7] = b64[ 4];
y[ 8] = b64[11]; y[ 9] = b64[10]; y[10] = b64[ 9]; y[11] = b64[ 8];
-/* $Id: md5.h,v 1.2 2000/12/04 01:20:38 tgl Exp $ */
+/* $Id: md5.h,v 1.3 2001/01/09 16:07:13 momjian Exp $ */
+/* $KAME: md5.h,v 1.3 2000/02/22 14:01:18 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
typedef struct {
union {
- uint32_t md5_state32[4];
- uint8_t md5_state8[16];
+ uint32 md5_state32[4];
+ uint8 md5_state8[16];
} md5_st;
#define md5_sta md5_st.md5_state32[0]
#define md5_st8 md5_st.md5_state8
union {
- uint64_t md5_count64;
- uint8_t md5_count8[8];
+ uint64 md5_count64;
+ uint8 md5_count8[8];
} md5_count;
#define md5_n md5_count.md5_count64
#define md5_n8 md5_count.md5_count8
unsigned int md5_i;
- uint8_t md5_buf[MD5_BUFLEN];
+ uint8 md5_buf[MD5_BUFLEN];
} md5_ctxt;
extern void md5_init (md5_ctxt *);
-extern void md5_loop (md5_ctxt *, uint8_t *, unsigned int);
+extern void md5_loop (md5_ctxt *, uint8 *, unsigned int);
extern void md5_pad (md5_ctxt *);
-extern void md5_result (uint8_t *, md5_ctxt *);
+extern void md5_result (uint8 *, md5_ctxt *);
/* compatibility */
#define MD5_CTX md5_ctxt
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: pgcrypto.c,v 1.2 2000/11/20 20:36:56 tgl Exp $
+ * $Id: pgcrypto.c,v 1.3 2001/01/09 16:07:13 momjian Exp $
*/
#include <postgres.h>
to_hex(p, hlen, VARDATA(res));
PG_FREE_IF_COPY(arg, 0);
- PG_FREE_IF_COPY(name, 0); // unnecessary i guess
+ PG_FREE_IF_COPY(name, 0);
PG_RETURN_TEXT_P(res);
}
res = find_digest(&_hbuf, name, 1);
- PG_FREE_IF_COPY(name, 0); // unnecessary i guess
+ PG_FREE_IF_COPY(name, 0);
if (res != NULL)
PG_RETURN_BOOL(true);
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: pgcrypto.h,v 1.1 2000/10/31 13:11:28 petere Exp $
+ * $Id: pgcrypto.h,v 1.2 2001/01/09 16:07:13 momjian Exp $
*/
#ifndef _PG_CRYPTO_H
#define _PG_CRYPTO_H
-#include <sys/types.h>
-
typedef struct _pg_digest pg_digest;
struct _pg_digest {
char *name;
-/* $Id: sha1.c,v 1.2 2000/12/04 01:20:38 tgl Exp $ */
+/* $Id: sha1.c,v 1.3 2001/01/09 16:07:13 momjian Exp $ */
+/* $KAME: sha1.c,v 1.3 2000/02/22 14:01:18 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
*/
#include <postgres.h>
-#include "pgcrypto.h"
#include "sha1.h"
#ifndef unsupported
/* constant table */
-static uint32_t _K[] = { 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 };
+static uint32 _K[] = { 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 };
#define K(t) _K[(t) / 20]
#define F0(b, c, d) (((b) & (c)) | ((~(b)) & (d)))
sha1_step(ctxt)
struct sha1_ctxt *ctxt;
{
- uint32_t a, b, c, d, e;
+ uint32 a, b, c, d, e;
size_t t, s;
- uint32_t tmp;
+ uint32 tmp;
#if BYTE_ORDER == LITTLE_ENDIAN
struct sha1_ctxt tctxt;
const caddr_t input0;
size_t len;
{
- const uint8_t *input;
+ const uint8 *input;
size_t gaplen;
size_t gapstart;
size_t off;
size_t copysiz;
- input = (const uint8_t *)input0;
+ input = (const uint8 *)input0;
off = 0;
while (off < len) {
struct sha1_ctxt *ctxt;
caddr_t digest0;
{
- uint8_t *digest;
+ uint8 *digest;
- digest = (uint8_t *)digest0;
+ digest = (uint8 *)digest0;
sha1_pad(ctxt);
#if BYTE_ORDER == BIG_ENDIAN
bcopy(&ctxt->h.b8[0], digest, 20);
-/* $Id: sha1.h,v 1.2 2000/12/04 01:20:38 tgl Exp $ */
+/* $Id: sha1.h,v 1.3 2001/01/09 16:07:13 momjian Exp $ */
+/* $KAME: sha1.h,v 1.4 2000/02/22 14:01:18 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
struct sha1_ctxt {
union {
- uint8_t b8[20];
- uint32_t b32[5];
+ uint8 b8[20];
+ uint32 b32[5];
} h;
union {
- uint8_t b8[8];
- uint64_t b64[1];
+ uint8 b8[8];
+ uint64 b64[1];
} c;
union {
- uint8_t b8[64];
- uint32_t b32[16];
+ uint8 b8[64];
+ uint32 b32[16];
} m;
- uint8_t count;
+ uint8 count;
};
extern void sha1_init (struct sha1_ctxt *);
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: c.h,v 1.85 2000/11/03 18:43:52 petere Exp $
+ * $Id: c.h,v 1.86 2001/01/09 16:07:14 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#ifdef HAVE_LONG_INT_64
/* Plain "long int" fits, use it */
typedef long int int64;
+typedef unsigned long int uint64;
#else
#ifdef HAVE_LONG_LONG_INT_64
/* We have working support for "long long int", use that */
typedef long long int int64;
+typedef unsigned long long int uint64;
#else
/* Won't actually work, but fall back to long int so that code compiles */
typedef long int int64;
+typedef unsigned long int uint64;
#define INT64_IS_BUSTED
#endif
#endif