From 48972a87c8ce5f87464e54379e56cf0fd9573dc7 Mon Sep 17 00:00:00 2001 From: jbj Date: Sun, 13 Mar 2005 01:15:37 +0000 Subject: Add support for sha256/sha384/sha512 (if available.). Update beecrypt version. CVS patchset: 7803 CVS date: 2005/03/13 01:15:37 --- rpmio/digest.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'rpmio/digest.c') diff --git a/rpmio/digest.c b/rpmio/digest.c index 2072279d9..5b4cde87c 100644 --- a/rpmio/digest.c +++ b/rpmio/digest.c @@ -77,6 +77,47 @@ rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags) ctx->Digest = (void *) sha1Digest; /*@=type@*/ break; +#if HAVE_BEECRYPT_API_H + case PGPHASHALGO_SHA256: + ctx->digestlen = 32; + ctx->datalen = 64; +/*@-sizeoftype@*/ /* FIX: union, not void pointer */ + ctx->paramlen = sizeof(sha256Param); +/*@=sizeoftype@*/ + ctx->param = xcalloc(1, ctx->paramlen); +/*@-type@*/ /* FIX: cast? */ + ctx->Reset = (void *) sha256Reset; + ctx->Update = (void *) sha256Update; + ctx->Digest = (void *) sha256Digest; +/*@=type@*/ + break; + case PGPHASHALGO_SHA384: + ctx->digestlen = 48; + ctx->datalen = 128; +/*@-sizeoftype@*/ /* FIX: union, not void pointer */ + ctx->paramlen = sizeof(sha384Param); +/*@=sizeoftype@*/ + ctx->param = xcalloc(1, ctx->paramlen); +/*@-type@*/ /* FIX: cast? */ + ctx->Reset = (void *) sha384Reset; + ctx->Update = (void *) sha384Update; + ctx->Digest = (void *) sha384Digest; +/*@=type@*/ + break; + case PGPHASHALGO_SHA512: + ctx->digestlen = 64; + ctx->datalen = 128; +/*@-sizeoftype@*/ /* FIX: union, not void pointer */ + ctx->paramlen = sizeof(sha512Param); +/*@=sizeoftype@*/ + ctx->param = xcalloc(1, ctx->paramlen); +/*@-type@*/ /* FIX: cast? */ + ctx->Reset = (void *) sha512Reset; + ctx->Update = (void *) sha512Update; + ctx->Digest = (void *) sha512Digest; +/*@=type@*/ + break; +#endif case PGPHASHALGO_RIPEMD160: case PGPHASHALGO_MD2: case PGPHASHALGO_TIGER192: -- cgit v1.2.3