From df1bf813f00c77b21e3e8934986dad98c3d803e2 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Wed, 28 Apr 2004 16:46:04 +0000 Subject: PD version of md5(3) based on code written by Colin Plumb. --- include/md5.h | 57 ++++++++++++++++++++++----------------------------------- 1 file changed, 22 insertions(+), 35 deletions(-) (limited to 'include/md5.h') diff --git a/include/md5.h b/include/md5.h index 2c419aeb211..36e94e5a750 100644 --- a/include/md5.h +++ b/include/md5.h @@ -1,55 +1,42 @@ -/* MD5.H - header file for MD5C.C - * $OpenBSD: md5.h,v 1.11 2003/10/07 22:17:27 avsm Exp $ - */ - -/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All -rights reserved. - -License to copy and use this software is granted provided that it -is identified as the "RSA Data Security, Inc. MD5 Message-Digest -Algorithm" in all material mentioning or referencing this software -or this function. - -License is also granted to make and use derivative works provided -that such works are identified as "derived from the RSA Data -Security, Inc. MD5 Message-Digest Algorithm" in all material -mentioning or referencing the derived work. - -RSA Data Security, Inc. makes no representations concerning either -the merchantability of this software or the suitability of this -software for any particular purpose. It is provided "as is" -without express or implied warranty of any kind. - -These notices must be retained in any copies of any part of this -documentation and/or software. +/* $OpenBSD: md5.h,v 1.12 2004/04/28 16:46:02 millert Exp $ */ + +/* + * This code implements the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. */ #ifndef _MD5_H_ #define _MD5_H_ -/* MD5 context. */ typedef struct MD5Context { - u_int32_t state[4]; /* state (ABCD) */ - u_int64_t count; /* number of bits, modulo 2^64 */ - unsigned char buffer[64]; /* input buffer */ + u_int32_t buf[4]; /* state */ + u_int32_t bits[2]; /* number of bits, mod 2^64 */ + unsigned char in[64]; /* input buffer */ } MD5_CTX; #include __BEGIN_DECLS -void MD5Init(MD5_CTX *); -void MD5Update(MD5_CTX *, const unsigned char *, size_t) +void MD5Init(MD5_CTX *); +void MD5Update(MD5_CTX *, const u_int8_t *, size_t) __attribute__((__bounded__(__string__,2,3))); -void MD5Final(unsigned char [16], MD5_CTX *) +void MD5Final(u_int8_t [16], MD5_CTX *) __attribute__((__bounded__(__minbytes__,1,16))); -void MD5Transform(u_int32_t [4], const unsigned char [64]) +void MD5Transform(u_int32_t [4], const u_int8_t [64]) __attribute__((__bounded__(__minbytes__,1,4))) __attribute__((__bounded__(__minbytes__,2,64))); -char * MD5End(MD5_CTX *, char *) +char *MD5End(MD5_CTX *, char [33]) __attribute__((__bounded__(__minbytes__,2,33))); -char * MD5File(char *, char *) +char *MD5File(char *, char [33]) __attribute__((__bounded__(__minbytes__,2,33))); -char * MD5Data(const unsigned char *, size_t, char *) +char *MD5Data(const u_int8_t *, size_t, char [33]) __attribute__((__bounded__(__string__,1,2))) __attribute__((__bounded__(__minbytes__,3,33))); __END_DECLS -- cgit v1.2.3