aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure4
-rw-r--r--configure.ac4
-rw-r--r--contrib/uuid-ossp/Makefile4
-rw-r--r--contrib/uuid-ossp/uuid-ossp.c16
4 files changed, 16 insertions, 12 deletions
diff --git a/configure b/configure
index 2a03ed0a018..11a4284e5bd 100755
--- a/configure
+++ b/configure
@@ -8307,12 +8307,12 @@ if test "$with_uuid" = bsd ; then
$as_echo "#define HAVE_UUID_BSD 1" >>confdefs.h
- UUID_EXTRA_OBJS="md5.o sha1.o"
+ UUID_EXTRA_OBJS="sha1.o"
elif test "$with_uuid" = e2fs ; then
$as_echo "#define HAVE_UUID_E2FS 1" >>confdefs.h
- UUID_EXTRA_OBJS="md5.o sha1.o"
+ UUID_EXTRA_OBJS="sha1.o"
elif test "$with_uuid" = ossp ; then
$as_echo "#define HAVE_UUID_OSSP 1" >>confdefs.h
diff --git a/configure.ac b/configure.ac
index 466aa51dd67..fc523c6aeb4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -921,10 +921,10 @@ fi
if test "$with_uuid" = bsd ; then
AC_DEFINE([HAVE_UUID_BSD], 1, [Define to 1 if you have BSD UUID support.])
- UUID_EXTRA_OBJS="md5.o sha1.o"
+ UUID_EXTRA_OBJS="sha1.o"
elif test "$with_uuid" = e2fs ; then
AC_DEFINE([HAVE_UUID_E2FS], 1, [Define to 1 if you have E2FS UUID support.])
- UUID_EXTRA_OBJS="md5.o sha1.o"
+ UUID_EXTRA_OBJS="sha1.o"
elif test "$with_uuid" = ossp ; then
AC_DEFINE([HAVE_UUID_OSSP], 1, [Define to 1 if you have OSSP UUID support.])
UUID_EXTRA_OBJS=""
diff --git a/contrib/uuid-ossp/Makefile b/contrib/uuid-ossp/Makefile
index e4bbffc30d9..0859a5397c9 100644
--- a/contrib/uuid-ossp/Makefile
+++ b/contrib/uuid-ossp/Makefile
@@ -19,7 +19,7 @@ pgcrypto_src = $(top_srcdir)/contrib/pgcrypto
PG_CPPFLAGS = -I$(pgcrypto_src)
-EXTRA_CLEAN = md5.c sha1.c
+EXTRA_CLEAN = sha1.c
ifdef USE_PGXS
PG_CONFIG = pg_config
@@ -32,5 +32,5 @@ include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
-md5.c sha1.c: % : $(pgcrypto_src)/%
+sha1.c: % : $(pgcrypto_src)/%
rm -f $@ && $(LN_S) $< .
diff --git a/contrib/uuid-ossp/uuid-ossp.c b/contrib/uuid-ossp/uuid-ossp.c
index 2a471e599b1..8f81c94e725 100644
--- a/contrib/uuid-ossp/uuid-ossp.c
+++ b/contrib/uuid-ossp/uuid-ossp.c
@@ -14,6 +14,7 @@
#include "postgres.h"
#include "fmgr.h"
+#include "common/cryptohash.h"
#include "port/pg_bswap.h"
#include "utils/builtins.h"
#include "utils/uuid.h"
@@ -44,7 +45,6 @@
* so we use a copy of the ones from pgcrypto. Not needed with OSSP, though.
*/
#ifndef HAVE_UUID_OSSP
-#include "md5.h"
#include "sha1.h"
#endif
@@ -324,13 +324,17 @@ uuid_generate_internal(int v, unsigned char *ns, const char *ptr, int len)
if (v == 3)
{
- MD5_CTX ctx;
+ pg_cryptohash_ctx *ctx = pg_cryptohash_create(PG_MD5);
- MD5Init(&ctx);
- MD5Update(&ctx, ns, sizeof(uu));
- MD5Update(&ctx, (unsigned char *) ptr, len);
+ if (pg_cryptohash_init(ctx) < 0)
+ elog(ERROR, "could not initialize %s context", "MD5");
+ if (pg_cryptohash_update(ctx, ns, sizeof(uu)) < 0 ||
+ pg_cryptohash_update(ctx, (unsigned char *) ptr, len) < 0)
+ elog(ERROR, "could not update %s context", "MD5");
/* we assume sizeof MD5 result is 16, same as UUID size */
- MD5Final((unsigned char *) &uu, &ctx);
+ if (pg_cryptohash_final(ctx, (unsigned char *) &uu) < 0)
+ elog(ERROR, "could not finalize %s context", "MD5");
+ pg_cryptohash_free(ctx);
}
else
{