Commit e586026d authored by Bruce Momjian's avatar Bruce Momjian

The KAME files md5.* and sha1.* have the following changelog

entry:

----------------------------
revision 1.2
date: 2000/12/04 01:20:38;  author: tgl;  state: Exp;  lines:
+18 -18
Eliminate some of the more blatant platform-dependencies ... it
builds here now, anyway ...
----------------------------

Which basically changes u_int*_t -> uint*_t, so now it does not
compile neither under Debian 2.2 nor under NetBSD 1.5 which
is platform independent<B8> all right.  Also it replaces $KAME$
with $Id$ which is Bad Thing. PostgreSQL Id should be added as a
separate line so the file history could be seen.

So here is patch:

* changes uint*_t -> uint*.  I guess that was the original
  intention
* adds uint64 type to include/c.h because its needed
  [somebody should check if I did it right]
* adds back KAME Id, because KAME is the master repository
* removes stupid c++ comments in pgcrypto.c
* removes <sys/types.h> from the code, its not needed

--
marko

Marko Kreen
parent f906597e
/* $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. * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
...@@ -30,7 +31,6 @@ ...@@ -30,7 +31,6 @@
*/ */
#include <postgres.h> #include <postgres.h>
#include "pgcrypto.h"
#include "md5.h" #include "md5.h"
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
#define MD5_D0 0x10325476 #define MD5_D0 0x10325476
/* Integer part of 4294967296 times abs(sin(i)), where i is in radians. */ /* 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, 0,
0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,
0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,
...@@ -114,7 +114,7 @@ static const uint32_t T[65] = { ...@@ -114,7 +114,7 @@ static const uint32_t T[65] = {
0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
...@@ -125,7 +125,7 @@ static const uint8_t md5_paddat[MD5_BUFLEN] = { ...@@ -125,7 +125,7 @@ static const uint8_t md5_paddat[MD5_BUFLEN] = {
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) void md5_init(ctxt)
md5_ctxt *ctxt; md5_ctxt *ctxt;
...@@ -141,7 +141,7 @@ void md5_init(ctxt) ...@@ -141,7 +141,7 @@ void md5_init(ctxt)
void md5_loop(ctxt, input, len) void md5_loop(ctxt, input, len)
md5_ctxt *ctxt; md5_ctxt *ctxt;
uint8_t *input; uint8 *input;
unsigned int len; /* number of bytes */ unsigned int len; /* number of bytes */
{ {
unsigned int gap, i; unsigned int gap, i;
...@@ -155,7 +155,7 @@ void md5_loop(ctxt, input, len) ...@@ -155,7 +155,7 @@ void md5_loop(ctxt, input, len)
md5_calc(ctxt->md5_buf, ctxt); md5_calc(ctxt->md5_buf, ctxt);
for (i = gap; i + MD5_BUFLEN <= len; i += MD5_BUFLEN) { 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; ctxt->md5_i = len - i;
...@@ -207,7 +207,7 @@ void md5_pad(ctxt) ...@@ -207,7 +207,7 @@ void md5_pad(ctxt)
} }
void md5_result(digest, ctxt) void md5_result(digest, ctxt)
uint8_t *digest; uint8 *digest;
md5_ctxt *ctxt; md5_ctxt *ctxt;
{ {
/* 4 byte words */ /* 4 byte words */
...@@ -227,24 +227,24 @@ void md5_result(digest, ctxt) ...@@ -227,24 +227,24 @@ void md5_result(digest, ctxt)
} }
#if BYTE_ORDER == BIG_ENDIAN #if BYTE_ORDER == BIG_ENDIAN
uint32_t X[16]; uint32 X[16];
#endif #endif
static void md5_calc(b64, ctxt) static void md5_calc(b64, ctxt)
uint8_t *b64; uint8 *b64;
md5_ctxt *ctxt; md5_ctxt *ctxt;
{ {
uint32_t A = ctxt->md5_sta; uint32 A = ctxt->md5_sta;
uint32_t B = ctxt->md5_stb; uint32 B = ctxt->md5_stb;
uint32_t C = ctxt->md5_stc; uint32 C = ctxt->md5_stc;
uint32_t D = ctxt->md5_std; uint32 D = ctxt->md5_std;
#if BYTE_ORDER == LITTLE_ENDIAN #if BYTE_ORDER == LITTLE_ENDIAN
uint32_t *X = (uint32_t *)b64; uint32 *X = (uint32 *)b64;
#endif #endif
#if BYTE_ORDER == BIG_ENDIAN #if BYTE_ORDER == BIG_ENDIAN
/* 4 byte words */ /* 4 byte words */
/* what a brute force but fast! */ /* 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[ 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[ 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]; 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. * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
...@@ -36,8 +37,8 @@ ...@@ -36,8 +37,8 @@
typedef struct { typedef struct {
union { union {
uint32_t md5_state32[4]; uint32 md5_state32[4];
uint8_t md5_state8[16]; uint8 md5_state8[16];
} md5_st; } md5_st;
#define md5_sta md5_st.md5_state32[0] #define md5_sta md5_st.md5_state32[0]
...@@ -47,20 +48,20 @@ typedef struct { ...@@ -47,20 +48,20 @@ typedef struct {
#define md5_st8 md5_st.md5_state8 #define md5_st8 md5_st.md5_state8
union { union {
uint64_t md5_count64; uint64 md5_count64;
uint8_t md5_count8[8]; uint8 md5_count8[8];
} md5_count; } md5_count;
#define md5_n md5_count.md5_count64 #define md5_n md5_count.md5_count64
#define md5_n8 md5_count.md5_count8 #define md5_n8 md5_count.md5_count8
unsigned int md5_i; unsigned int md5_i;
uint8_t md5_buf[MD5_BUFLEN]; uint8 md5_buf[MD5_BUFLEN];
} md5_ctxt; } md5_ctxt;
extern void md5_init (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_pad (md5_ctxt *);
extern void md5_result (uint8_t *, md5_ctxt *); extern void md5_result (uint8 *, md5_ctxt *);
/* compatibility */ /* compatibility */
#define MD5_CTX md5_ctxt #define MD5_CTX md5_ctxt
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * 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> #include <postgres.h>
...@@ -91,7 +91,7 @@ digest(PG_FUNCTION_ARGS) ...@@ -91,7 +91,7 @@ digest(PG_FUNCTION_ARGS)
to_hex(p, hlen, VARDATA(res)); to_hex(p, hlen, VARDATA(res));
PG_FREE_IF_COPY(arg, 0); 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); PG_RETURN_TEXT_P(res);
} }
...@@ -112,7 +112,7 @@ digest_exists(PG_FUNCTION_ARGS) ...@@ -112,7 +112,7 @@ digest_exists(PG_FUNCTION_ARGS)
res = find_digest(&_hbuf, name, 1); res = find_digest(&_hbuf, name, 1);
PG_FREE_IF_COPY(name, 0); // unnecessary i guess PG_FREE_IF_COPY(name, 0);
if (res != NULL) if (res != NULL)
PG_RETURN_BOOL(true); PG_RETURN_BOOL(true);
......
...@@ -26,14 +26,12 @@ ...@@ -26,14 +26,12 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * 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 #ifndef _PG_CRYPTO_H
#define _PG_CRYPTO_H #define _PG_CRYPTO_H
#include <sys/types.h>
typedef struct _pg_digest pg_digest; typedef struct _pg_digest pg_digest;
struct _pg_digest { struct _pg_digest {
char *name; 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. * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
...@@ -35,7 +36,6 @@ ...@@ -35,7 +36,6 @@
*/ */
#include <postgres.h> #include <postgres.h>
#include "pgcrypto.h"
#include "sha1.h" #include "sha1.h"
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
#ifndef unsupported #ifndef unsupported
/* constant table */ /* constant table */
static uint32_t _K[] = { 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 }; static uint32 _K[] = { 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 };
#define K(t) _K[(t) / 20] #define K(t) _K[(t) / 20]
#define F0(b, c, d) (((b) & (c)) | ((~(b)) & (d))) #define F0(b, c, d) (((b) & (c)) | ((~(b)) & (d)))
...@@ -87,9 +87,9 @@ static void ...@@ -87,9 +87,9 @@ static void
sha1_step(ctxt) sha1_step(ctxt)
struct sha1_ctxt *ctxt; struct sha1_ctxt *ctxt;
{ {
uint32_t a, b, c, d, e; uint32 a, b, c, d, e;
size_t t, s; size_t t, s;
uint32_t tmp; uint32 tmp;
#if BYTE_ORDER == LITTLE_ENDIAN #if BYTE_ORDER == LITTLE_ENDIAN
struct sha1_ctxt tctxt; struct sha1_ctxt tctxt;
...@@ -221,13 +221,13 @@ sha1_loop(ctxt, input0, len) ...@@ -221,13 +221,13 @@ sha1_loop(ctxt, input0, len)
const caddr_t input0; const caddr_t input0;
size_t len; size_t len;
{ {
const uint8_t *input; const uint8 *input;
size_t gaplen; size_t gaplen;
size_t gapstart; size_t gapstart;
size_t off; size_t off;
size_t copysiz; size_t copysiz;
input = (const uint8_t *)input0; input = (const uint8 *)input0;
off = 0; off = 0;
while (off < len) { while (off < len) {
...@@ -250,9 +250,9 @@ sha1_result(ctxt, digest0) ...@@ -250,9 +250,9 @@ sha1_result(ctxt, digest0)
struct sha1_ctxt *ctxt; struct sha1_ctxt *ctxt;
caddr_t digest0; caddr_t digest0;
{ {
uint8_t *digest; uint8 *digest;
digest = (uint8_t *)digest0; digest = (uint8 *)digest0;
sha1_pad(ctxt); sha1_pad(ctxt);
#if BYTE_ORDER == BIG_ENDIAN #if BYTE_ORDER == BIG_ENDIAN
bcopy(&ctxt->h.b8[0], digest, 20); 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. * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
...@@ -39,18 +40,18 @@ ...@@ -39,18 +40,18 @@
struct sha1_ctxt { struct sha1_ctxt {
union { union {
uint8_t b8[20]; uint8 b8[20];
uint32_t b32[5]; uint32 b32[5];
} h; } h;
union { union {
uint8_t b8[8]; uint8 b8[8];
uint64_t b64[1]; uint64 b64[1];
} c; } c;
union { union {
uint8_t b8[64]; uint8 b8[64];
uint32_t b32[16]; uint32 b32[16];
} m; } m;
uint8_t count; uint8 count;
}; };
extern void sha1_init (struct sha1_ctxt *); extern void sha1_init (struct sha1_ctxt *);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California * 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 $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -277,13 +277,16 @@ typedef double float8; ...@@ -277,13 +277,16 @@ typedef double float8;
#ifdef HAVE_LONG_INT_64 #ifdef HAVE_LONG_INT_64
/* Plain "long int" fits, use it */ /* Plain "long int" fits, use it */
typedef long int int64; typedef long int int64;
typedef unsigned long int uint64;
#else #else
#ifdef HAVE_LONG_LONG_INT_64 #ifdef HAVE_LONG_LONG_INT_64
/* We have working support for "long long int", use that */ /* We have working support for "long long int", use that */
typedef long long int int64; typedef long long int int64;
typedef unsigned long long int uint64;
#else #else
/* Won't actually work, but fall back to long int so that code compiles */ /* Won't actually work, but fall back to long int so that code compiles */
typedef long int int64; typedef long int int64;
typedef unsigned long int uint64;
#define INT64_IS_BUSTED #define INT64_IS_BUSTED
#endif #endif
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment