summaryrefslogtreecommitdiff
path: root/src/tls
diff options
context:
space:
mode:
Diffstat (limited to 'src/tls')
-rw-r--r--src/tls/Makefile.in5
-rw-r--r--src/tls/sha_drv.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/tls/Makefile.in b/src/tls/Makefile.in
index 44587965..ee40f93e 100644
--- a/src/tls/Makefile.in
+++ b/src/tls/Makefile.in
@@ -30,6 +30,11 @@ ifdef debug
EFLAGS+=+debug_info +export_all
endif
+ifeq (@md2@, true)
+ EFLAGS+=-DHAVE_MD2
+ ERLANG_CFLAGS += -DHAVE_MD2
+endif
+
ERLSHLIBS = ../tls_drv.so ../sha_drv.so
OUTDIR = ..
SOURCES = $(wildcard *.erl)
diff --git a/src/tls/sha_drv.c b/src/tls/sha_drv.c
index 13d65803..8e6de320 100644
--- a/src/tls/sha_drv.c
+++ b/src/tls/sha_drv.c
@@ -20,7 +20,9 @@
#include <erl_driver.h>
#include <openssl/sha.h>
+#ifdef HAVE_MD2
#include <openssl/md2.h>
+#endif
static ErlDrvData sha_drv_start(ErlDrvPort port, char *buf)
{
@@ -36,11 +38,13 @@ static int sha_drv_control(ErlDrvData handle,
ErlDrvBinary *b = NULL;
switch (command) {
+#ifdef HAVE_MD2
case 2:
rlen = MD2_DIGEST_LENGTH;
b = driver_alloc_binary(rlen);
if (b) MD2((unsigned char*)buf, len, (unsigned char*)b->orig_bytes);
break;
+#endif
case 224:
rlen = SHA224_DIGEST_LENGTH;
b = driver_alloc_binary(rlen);