Page MenuHomeFreeBSD

D2216.id4652.diff
No OneTemporary

D2216.id4652.diff

Index: lib/libmd/Makefile
===================================================================
--- lib/libmd/Makefile
+++ lib/libmd/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
LIB= md
-SHLIB_MAJOR= 6
+SHLIB_MAJOR= 7
SHLIBDIR?= /lib
SRCS= md4c.c md5c.c md4hl.c md5hl.c \
rmd160c.c rmd160hl.c \
Index: lib/libmd/md4.h
===================================================================
--- lib/libmd/md4.h
+++ lib/libmd/md4.h
@@ -35,6 +35,18 @@
#include <sys/cdefs.h>
__BEGIN_DECLS
+
+/* Ensure libmd symbols do not clash with libcrypto */
+
+#define MD4Init _libmd_MD4Init
+#define MD4Update _libmd_MD4Update
+#define MD4Pad _libmd_MD4Pad
+#define MD4Final _libmd_MD4Final
+#define MD4End _libmd_MD4End
+#define MD4File _libmd_MD4File
+#define MD4FileChunk _libmd_MD4FileChunk
+#define MD4Data _libmd_MD4Data
+
void MD4Init(MD4_CTX *);
void MD4Update(MD4_CTX *, const void *, unsigned int);
void MD4Pad(MD4_CTX *);
Index: lib/libmd/md5.h
===================================================================
--- lib/libmd/md5.h
+++ lib/libmd/md5.h
@@ -1,4 +1,21 @@
#ifndef _MD5_H_
#define _MD5_H_
+
+#ifndef _KERNEL
+
+/* Ensure libmd symbols do not clash with libcrypto */
+
+#define MD5Init _libmd_MD5Init
+#define MD5Update _libmd_MD5Update
+#define MD5Pad _libmd_MD5Pad
+#define MD5Final _libmd_MD5Final
+#define MD5Transform _libmd_MD5Transform
+#define MD5End _libmd_MD5End
+#define MD5File _libmd_MD5File
+#define MD5FileChunk _libmd_MD5FileChunk
+#define MD5Data _libmd_MD5Data
+
+#endif
+
#include <sys/md5.h>
#endif /* _MD5_H_ */
Index: lib/libmd/md5c.c
===================================================================
--- lib/libmd/md5c.c
+++ lib/libmd/md5c.c
@@ -39,7 +39,7 @@
#include <machine/endian.h>
#include <sys/endian.h>
-#include <sys/md5.h>
+#include "md5.h"
static void MD5Transform(u_int32_t [4], const unsigned char [64]);
Index: lib/libmd/ripemd.h
===================================================================
--- lib/libmd/ripemd.h
+++ lib/libmd/ripemd.h
@@ -81,6 +81,21 @@
} RIPEMD160_CTX;
__BEGIN_DECLS
+
+/* Ensure libmd symbols do not clash with libcrypto */
+
+#define RIPEMD160_Init _libmd_RIPEMD160_Init
+#define RIPEMD160_Update _libmd_RIPEMD160_Update
+#define RIPEMD160_Final _libmd_RIPEMD160_Final
+#define RIPEMD160_End _libmd_RIPEMD160_End
+#define RIPEMD160_File _libmd_RIPEMD160_File
+#define RIPEMD160_FileChunk _libmd_RIPEMD160_FileChunk
+#define RIPEMD160_Data _libmd_RIPEMD160_Data
+
+#define RIPEMD160_Transform _libmd_RIPEMD160_Transform
+#define RMD160_version _libmd_RMD160_version
+#define ripemd160_block _libmd_ripemd160_block
+
void RIPEMD160_Init(RIPEMD160_CTX *c);
void RIPEMD160_Update(RIPEMD160_CTX *c, const void *data,
size_t len);
Index: lib/libmd/sha.h
===================================================================
--- lib/libmd/sha.h
+++ lib/libmd/sha.h
@@ -79,6 +79,33 @@
#define SHA1_CTX SHA_CTX
__BEGIN_DECLS
+
+/* Ensure libmd symbols do not clash with libcrypto */
+
+#define SHA_Init _libmd_SHA_Init
+#define SHA_Update _libmd_SHA_Update
+#define SHA_Final _libmd_SHA_Final
+#define SHA_End _libmd_SHA_End
+#define SHA_File _libmd_SHA_File
+#define SHA_FileChunk _libmd_SHA_FileChunk
+#define SHA_Data _libmd_SHA_Data
+
+#define SHA_Transform _libmd_SHA_Transform
+#define SHA_version _libmd_SHA_version
+#define sha_block _libmd_sha_block
+
+#define SHA1_Init _libmd_SHA1_Init
+#define SHA1_Update _libmd_SHA1_Update
+#define SHA1_Final _libmd_SHA1_Final
+#define SHA1_End _libmd_SHA1_End
+#define SHA1_File _libmd_SHA1_File
+#define SHA1_FileChunk _libmd_SHA1_FileChunk
+#define SHA1_Data _libmd_SHA1_Data
+
+#define SHA1_Transform _libmd_SHA1_Transform
+#define SHA1_version _libmd_SHA1_version
+#define sha1_block _libmd_sha1_block
+
void SHA_Init(SHA_CTX *c);
void SHA_Update(SHA_CTX *c, const void *data, size_t len);
void SHA_Final(unsigned char *md, SHA_CTX *c);
@@ -86,6 +113,7 @@
char *SHA_File(const char *, char *);
char *SHA_FileChunk(const char *, char *, off_t, off_t);
char *SHA_Data(const void *, unsigned int, char *);
+
void SHA1_Init(SHA_CTX *c);
void SHA1_Update(SHA_CTX *c, const void *data, size_t len);
void SHA1_Final(unsigned char *md, SHA_CTX *c);
Index: lib/libmd/sha256.h
===================================================================
--- lib/libmd/sha256.h
+++ lib/libmd/sha256.h
@@ -38,6 +38,20 @@
} SHA256_CTX;
__BEGIN_DECLS
+
+/* Ensure libmd symbols do not clash with libcrypto */
+
+#define SHA256_Init _libmd_SHA256_Init
+#define SHA256_Update _libmd_SHA256_Update
+#define SHA256_Final _libmd_SHA256_Final
+#define SHA256_End _libmd_SHA256_End
+#define SHA256_File _libmd_SHA256_File
+#define SHA256_FileChunk _libmd_SHA256_FileChunk
+#define SHA256_Data _libmd_SHA256_Data
+
+#define SHA256_Transform _libmd_SHA256_Transform
+#define SHA256_version _libmd_SHA256_version
+
void SHA256_Init(SHA256_CTX *);
void SHA256_Update(SHA256_CTX *, const void *, size_t);
void SHA256_Final(unsigned char [32], SHA256_CTX *);
Index: lib/libmd/sha512.h
===================================================================
--- lib/libmd/sha512.h
+++ lib/libmd/sha512.h
@@ -38,6 +38,20 @@
} SHA512_CTX;
__BEGIN_DECLS
+
+/* Ensure libmd symbols do not clash with libcrypto */
+
+#define SHA512_Init _libmd_SHA512_Init
+#define SHA512_Update _libmd_SHA512_Update
+#define SHA512_Final _libmd_SHA512_Final
+#define SHA512_End _libmd_SHA512_End
+#define SHA512_File _libmd_SHA512_File
+#define SHA512_FileChunk _libmd_SHA512_FileChunk
+#define SHA512_Data _libmd_SHA512_Data
+
+#define SHA512_Transform _libmd_SHA512_Transform
+#define SHA512_version _libmd_SHA512_version
+
void SHA512_Init(SHA512_CTX *);
void SHA512_Update(SHA512_CTX *, const void *, size_t);
void SHA512_Final(unsigned char [64], SHA512_CTX *);
Index: lib/libmd/shadriver.c
===================================================================
--- lib/libmd/shadriver.c
+++ lib/libmd/shadriver.c
@@ -31,10 +31,13 @@
#endif
#if SHA == 1
+#undef SHA_Data
#define SHA_Data SHA1_Data
#elif SHA == 256
+#undef SHA_Data
#define SHA_Data SHA256_Data
#elif SHA == 512
+#undef SHA_Data
#define SHA_Data SHA512_Data
#endif

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 7, 12:45 PM (14 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31031373
Default Alt Text
D2216.id4652.diff (6 KB)

Event Timeline