mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
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
This commit is contained in:
parent
f906597e50
commit
e586026d10
@ -1,4 +1,5 @@
|
||||
/* $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.
|
||||
@ -30,7 +31,6 @@
|
||||
*/
|
||||
|
||||
#include <postgres.h>
|
||||
#include "pgcrypto.h"
|
||||
|
||||
#include "md5.h"
|
||||
|
||||
@ -91,7 +91,7 @@
|
||||
#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,
|
||||
@ -114,7 +114,7 @@ static const uint32_t T[65] = {
|
||||
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,
|
||||
@ -125,7 +125,7 @@ static const uint8_t md5_paddat[MD5_BUFLEN] = {
|
||||
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;
|
||||
@ -141,7 +141,7 @@ void md5_init(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;
|
||||
@ -155,7 +155,7 @@ void md5_loop(ctxt, input, len)
|
||||
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;
|
||||
@ -207,7 +207,7 @@ void md5_pad(ctxt)
|
||||
}
|
||||
|
||||
void md5_result(digest, ctxt)
|
||||
uint8_t *digest;
|
||||
uint8 *digest;
|
||||
md5_ctxt *ctxt;
|
||||
{
|
||||
/* 4 byte words */
|
||||
@ -227,24 +227,24 @@ void md5_result(digest, ctxt)
|
||||
}
|
||||
|
||||
#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];
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* $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.
|
||||
@ -36,8 +37,8 @@
|
||||
|
||||
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]
|
||||
@ -47,20 +48,20 @@ typedef struct {
|
||||
#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
|
||||
|
@ -26,7 +26,7 @@
|
||||
* 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>
|
||||
@ -91,7 +91,7 @@ digest(PG_FUNCTION_ARGS)
|
||||
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);
|
||||
}
|
||||
@ -112,7 +112,7 @@ digest_exists(PG_FUNCTION_ARGS)
|
||||
|
||||
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);
|
||||
|
@ -26,14 +26,12 @@
|
||||
* 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;
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* $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.
|
||||
@ -35,7 +36,6 @@
|
||||
*/
|
||||
|
||||
#include <postgres.h>
|
||||
#include "pgcrypto.h"
|
||||
|
||||
#include "sha1.h"
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
#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)))
|
||||
@ -87,9 +87,9 @@ static void
|
||||
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;
|
||||
@ -221,13 +221,13 @@ sha1_loop(ctxt, input0, len)
|
||||
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) {
|
||||
@ -250,9 +250,9 @@ sha1_result(ctxt, digest0)
|
||||
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);
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* $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.
|
||||
@ -39,18 +40,18 @@
|
||||
|
||||
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 *);
|
||||
|
@ -8,7 +8,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -277,13 +277,16 @@ typedef double float8;
|
||||
#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
|
||||
|
Loading…
Reference in New Issue
Block a user