Switch hastctl and hastd to libmd instead of openssl for sha256

Reviewed by:	bapt, brnrd, pjd
Approved by:	pjd (maintainer)
Sponsored by:	ScaleEngine Inc., FOSDEM DevSummit
Differential Revision:	https://reviews.freebsd.org/D9423
This commit is contained in:
Allan Jude 2017-02-04 06:12:48 +00:00
parent ffce99f502
commit c0bde750ac
4 changed files with 3 additions and 28 deletions

View File

@ -33,11 +33,7 @@ CFLAGS+=-DINET6
CFLAGS+=-DYY_NO_UNPUT
CFLAGS+=-DYY_NO_INPUT
LIBADD= util
.if ${MK_OPENSSL} != "no"
LIBADD+= crypto
CFLAGS+=-DHAVE_CRYPTO
.endif
LIBADD= md util
YFLAGS+=-v

View File

@ -31,11 +31,7 @@ CFLAGS+=-DINET
CFLAGS+=-DINET6
.endif
LIBADD= geom pthread util
.if ${MK_OPENSSL} != "no"
LIBADD+= crypto
CFLAGS+=-DHAVE_CRYPTO
.endif
LIBADD= geom md pthread util
YFLAGS+=-v

View File

@ -31,22 +31,15 @@ __FBSDID("$FreeBSD$");
#include <string.h>
#include <strings.h>
#ifdef HAVE_CRYPTO
#include <openssl/sha.h>
#endif
#include <crc32.h>
#include <hast.h>
#include <nv.h>
#include <sha256.h>
#include <pjdlog.h>
#include "hast_checksum.h"
#ifdef HAVE_CRYPTO
#define MAX_HASH_SIZE SHA256_DIGEST_LENGTH
#else
#define MAX_HASH_SIZE 4
#endif
static void
hast_crc32_checksum(const unsigned char *data, size_t size,
@ -60,7 +53,6 @@ hast_crc32_checksum(const unsigned char *data, size_t size,
*hsizep = sizeof(crc);
}
#ifdef HAVE_CRYPTO
static void
hast_sha256_checksum(const unsigned char *data, size_t size,
unsigned char *hash, size_t *hsizep)
@ -72,7 +64,6 @@ hast_sha256_checksum(const unsigned char *data, size_t size,
SHA256_Final(hash, &ctx);
*hsizep = SHA256_DIGEST_LENGTH;
}
#endif /* HAVE_CRYPTO */
const char *
checksum_name(int num)
@ -102,11 +93,9 @@ checksum_send(const struct hast_resource *res, struct nv *nv, void **datap,
case HAST_CHECKSUM_CRC32:
hast_crc32_checksum(*datap, *sizep, hash, &hsize);
break;
#ifdef HAVE_CRYPTO
case HAST_CHECKSUM_SHA256:
hast_sha256_checksum(*datap, *sizep, hash, &hsize);
break;
#endif
default:
PJDLOG_ABORT("Invalid checksum: %d.", res->hr_checksum);
}
@ -138,10 +127,8 @@ checksum_recv(const struct hast_resource *res __unused, struct nv *nv,
}
if (strcmp(algo, "crc32") == 0)
hast_crc32_checksum(*datap, *sizep, chash, &chsize);
#ifdef HAVE_CRYPTO
else if (strcmp(algo, "sha256") == 0)
hast_sha256_checksum(*datap, *sizep, chash, &chsize);
#endif
else {
pjdlog_error("Unknown checksum algorithm '%s'.", algo);
return (-1); /* Unknown checksum algorithm. */

View File

@ -42,9 +42,7 @@ __FBSDID("$FreeBSD$");
#include <pjdlog.h>
#include <proto.h>
#ifdef HAVE_CRYPTO
#include "hast_checksum.h"
#endif
#include "hast_compression.h"
#include "hast_proto.h"
@ -68,9 +66,7 @@ struct hast_pipe_stage {
static struct hast_pipe_stage pipeline[] = {
{ "compression", compression_send, compression_recv },
#ifdef HAVE_CRYPTO
{ "checksum", checksum_send, checksum_recv }
#endif
};
/*