[sr-dev] git:master:6cf9b05b: core: use system MD5 on Solaris
Spencer Thomason
spencer at whiteskycommunications.com
Tue Aug 9 09:17:57 CEST 2016
Module: kamailio
Branch: master
Commit: 6cf9b05b11fca3c0a2013176d9702cafbbcb5115
URL: https://github.com/kamailio/kamailio/commit/6cf9b05b11fca3c0a2013176d9702cafbbcb5115
Author: Spencer Thomason <spencer at whiteskycommunications.com>
Committer: Spencer Thomason <spencer at whiteskycommunications.com>
Date: 2016-08-08T16:40:14-07:00
core: use system MD5 on Solaris
- Allows use of SPARC optimized functions
---
Modified: Makefile.defs
Modified: md5.c
Modified: md5.h
---
Diff: https://github.com/kamailio/kamailio/commit/6cf9b05b11fca3c0a2013176d9702cafbbcb5115.diff
Patch: https://github.com/kamailio/kamailio/commit/6cf9b05b11fca3c0a2013176d9702cafbbcb5115.patch
---
diff --git a/Makefile.defs b/Makefile.defs
index af5fd45..240fea5 100644
--- a/Makefile.defs
+++ b/Makefile.defs
@@ -1832,7 +1832,7 @@ ifeq ($(CC_NAME), suncc)
endif
OLD_SOLARIS= $(shell echo "$(OSREL)" | \
sed -e 's/^5\.[0-6][^0-9]*$$/yes/' )
- LIBS+= -L$(LOCALBASE)/lib -lxnet -lsocket -lnsl
+ LIBS+= -L$(LOCALBASE)/lib -lxnet -lsocket -lnsl -lmd5
ifeq ($(OLD_SOLARIS), yes)
LIBS+=-lposix4
else
diff --git a/md5.c b/md5.c
index a0a036a..d675dd1 100644
--- a/md5.c
+++ b/md5.c
@@ -22,6 +22,8 @@
#include "md5.h"
+#ifndef __OS_solaris
+
#define PUT_64BIT_LE(cp, value) do { \
(cp)[7] = (value) >> 56; \
(cp)[6] = (value) >> 48; \
@@ -247,3 +249,5 @@ MD5Transform(u_int32_t state[4], const u_int8_t block[MD5_BLOCK_LENGTH])
state[2] += c;
state[3] += d;
}
+
+#endif /* __OS_solaris */
diff --git a/md5.h b/md5.h
index f094d10..02715b8 100644
--- a/md5.h
+++ b/md5.h
@@ -15,6 +15,8 @@
#ifndef _MD5_H_
#define _MD5_H_
+#ifndef __OS_solaris
+
#define MD5_BLOCK_LENGTH 64
#define MD5_DIGEST_LENGTH 16
#define MD5_DIGEST_STRING_LENGTH (MD5_DIGEST_LENGTH * 2 + 1)
@@ -22,13 +24,6 @@
/* Probably not the proper place, but will do for Debian: */
#include <sys/types.h>
-/* fix types for Sun Solaris */
-#if defined(__SVR4) || defined(__sun)
- typedef uint8_t u_int8_t;
- typedef uint32_t u_int32_t;
- typedef uint64_t u_int64_t;
-#endif
-
typedef struct MD5Context {
u_int32_t state[4]; /* state */
u_int64_t count; /* number of bits, mod 2^64 */
@@ -49,4 +44,14 @@ static inline void MD5Final(char buf[MD5_DIGEST_LENGTH], MD5_CTX *ctx) {
U_MD5Final((unsigned char *)buf, ctx);
}
+#else /* __OS_solaris */
+#include <md5.h>
+
+#define U_MD5Update(ctx, input, len) \
+ MD5Update(ctx, input, len)
+#define U_MD5Final(digest, ctx) \
+ MD5Final(digest, ctx)
+
+#endif /* __OS_solaris */
+
#endif /* _MD5_H_ */
More information about the sr-dev
mailing list