#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#include "../e_os.h"
+
+#ifdef OPENSSL_NO_MD2
+int main(int argc, char *argv[])
+{
+ printf("No MD2 support\n");
+ return(0);
+}
+#else
+#include <openssl/evp.h>
#include <openssl/md2.h>
-char *test[]={
+#ifdef CHARSET_EBCDIC
+#include <openssl/ebcdic.h>
+#endif
+
+static char *test[]={
"",
"a",
"abc",
NULL,
};
-char *ret[]={
+static char *ret[]={
"8350e5a3e24c153df2275c9f80692773",
"32ec01ec4a6dac72c0ab96fb34c0b5d1",
"da853b0d3f88d99b30283a69e6ded6bb",
"d5976f79d83d3a0dc9806c3c66f3efd8",
};
-#ifndef NOPROTO
static char *pt(unsigned char *md);
-#else
-static char *pt();
-#endif
-
int main(int argc, char *argv[])
{
int i,err=0;
char **P,**R;
char *p;
+ unsigned char md[MD2_DIGEST_LENGTH];
P=test;
R=ret;
i=1;
while (*P != NULL)
{
- p=pt(MD2((unsigned char *)*P,(unsigned long)strlen(*P),NULL));
+ EVP_Digest((unsigned char *)*P,strlen(*P),md,NULL,EVP_md2(), NULL);
+ p=pt(md);
if (strcmp(p,*R) != 0)
{
printf("error calculating MD2 on '%s'\n",*P);
R++;
P++;
}
- exit(err);
- return(0);
+#ifdef OPENSSL_SYS_NETWARE
+ if (err) printf("ERROR: %d\n", err);
+#endif
+ EXIT(err);
+ return err;
}
static char *pt(unsigned char *md)
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
+#endif