diff options
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | src/block-sha1/sha1.h | 8 | ||||
-rw-r--r-- | src/hash.c | 26 | ||||
-rw-r--r-- | src/ppc/sha1.h | 8 | ||||
-rw-r--r-- | src/sha1.h | 4 | ||||
-rw-r--r-- | tests/Makefile | 4 |
6 files changed, 38 insertions, 22 deletions
@@ -3,6 +3,12 @@ all:: # Define NO_VISIBILITY if your compiler does not support symbol # visibility in general (and the -fvisibility switch in particular). # +# Define OPENSSL_SHA1 if you want use the SHA1 routines from the +# OpenSSL crypto library, rather than the built-in C versions. +# +# Define PPC_SHA1 if you want to use the bundled SHA1 routines that +# are optimized for PowerPC, rather than the built-in C versions. +# DOXYGEN = doxygen INSTALL = install @@ -75,8 +81,12 @@ ifdef PPC_SHA1 EXTRA_OBJ += src/ppc/sha1ppc.o EXTRA_CFLAGS += -DPPC_SHA1 else +ifdef OPENSSL_SHA1 + EXTRA_CFLAGS += -DOPENSSL_SHA1 +else EXTRA_SRC += src/block-sha1/sha1.c endif +endif BASIC_CFLAGS := -Isrc ifndef NO_VISIBILITY diff --git a/src/block-sha1/sha1.h b/src/block-sha1/sha1.h index b864df623..bb2bad2a2 100644 --- a/src/block-sha1/sha1.h +++ b/src/block-sha1/sha1.h @@ -16,7 +16,7 @@ void blk_SHA1_Init(blk_SHA_CTX *ctx); void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *dataIn, unsigned long len); void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx); -#define git_SHA_CTX blk_SHA_CTX -#define git_SHA1_Init blk_SHA1_Init -#define git_SHA1_Update blk_SHA1_Update -#define git_SHA1_Final blk_SHA1_Final +#define SHA_CTX blk_SHA_CTX +#define SHA1_Init blk_SHA1_Init +#define SHA1_Update blk_SHA1_Update +#define SHA1_Final blk_SHA1_Final diff --git a/src/hash.c b/src/hash.c index 784b10b4b..1ddf7a3bc 100644 --- a/src/hash.c +++ b/src/hash.c @@ -28,7 +28,7 @@ #include "sha1.h" struct git_hash_ctx { - git_SHA_CTX c; + SHA_CTX c; }; git_hash_ctx *git_hash_new_ctx(void) @@ -38,7 +38,7 @@ git_hash_ctx *git_hash_new_ctx(void) if (!ctx) return NULL; - git_SHA1_Init(&ctx->c); + SHA1_Init(&ctx->c); return ctx; } @@ -51,37 +51,37 @@ void git_hash_free_ctx(git_hash_ctx *ctx) void git_hash_init(git_hash_ctx *ctx) { assert(ctx); - git_SHA1_Init(&ctx->c); + SHA1_Init(&ctx->c); } void git_hash_update(git_hash_ctx *ctx, const void *data, size_t len) { assert(ctx); - git_SHA1_Update(&ctx->c, data, len); + SHA1_Update(&ctx->c, data, len); } void git_hash_final(git_oid *out, git_hash_ctx *ctx) { assert(ctx); - git_SHA1_Final(out->id, &ctx->c); + SHA1_Final(out->id, &ctx->c); } void git_hash_buf(git_oid *out, const void *data, size_t len) { - git_SHA_CTX c; + SHA_CTX c; - git_SHA1_Init(&c); - git_SHA1_Update(&c, data, len); - git_SHA1_Final(out->id, &c); + SHA1_Init(&c); + SHA1_Update(&c, data, len); + SHA1_Final(out->id, &c); } void git_hash_vec(git_oid *out, git_buf_vec *vec, size_t n) { - git_SHA_CTX c; + SHA_CTX c; size_t i; - git_SHA1_Init(&c); + SHA1_Init(&c); for (i = 0; i < n; i++) - git_SHA1_Update(&c, vec[i].data, vec[i].len); - git_SHA1_Final(out->id, &c); + SHA1_Update(&c, vec[i].data, vec[i].len); + SHA1_Final(out->id, &c); } diff --git a/src/ppc/sha1.h b/src/ppc/sha1.h index c405f734c..70957110c 100644 --- a/src/ppc/sha1.h +++ b/src/ppc/sha1.h @@ -19,7 +19,7 @@ int ppc_SHA1_Init(ppc_SHA_CTX *c); int ppc_SHA1_Update(ppc_SHA_CTX *c, const void *p, unsigned long n); int ppc_SHA1_Final(unsigned char *hash, ppc_SHA_CTX *c); -#define git_SHA_CTX ppc_SHA_CTX -#define git_SHA1_Init ppc_SHA1_Init -#define git_SHA1_Update ppc_SHA1_Update -#define git_SHA1_Final ppc_SHA1_Final +#define SHA_CTX ppc_SHA_CTX +#define SHA1_Init ppc_SHA1_Init +#define SHA1_Update ppc_SHA1_Update +#define SHA1_Final ppc_SHA1_Final diff --git a/src/sha1.h b/src/sha1.h index ac3e84651..f4153cc66 100644 --- a/src/sha1.h +++ b/src/sha1.h @@ -1,8 +1,10 @@ #ifndef INCLUDE_sha1_h__ #define INCLUDE_sha1_h__ -#ifdef PPC_SHA1 +#if defined(PPC_SHA1) # include "ppc/sha1.h" +#elif defined(OPENSSL_SHA1) +# include <openssl/sha.h> #else # include "block-sha1/sha1.h" #endif diff --git a/tests/Makefile b/tests/Makefile index 6a5c2bc91..e5ff26740 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -59,6 +59,10 @@ ifdef TEST_COVERAGE EXTRA_LIBS += -O0 -lgcov endif +ifdef OPENSSL_SHA1 + EXTRA_LIBS += $(CRYPTO_LIB) +endif + BASIC_CFLAGS := -I../src ALL_CFLAGS = $(CFLAGS) $(BASIC_CFLAGS) |