diff options
| author | Sam Hartman <hartmans@mit.edu> | 2001-11-20 00:26:54 +0000 |
|---|---|---|
| committer | Sam Hartman <hartmans@mit.edu> | 2001-11-20 00:26:54 +0000 |
| commit | 0334904c593755c04315747883b67bc07d856a2a (patch) | |
| tree | d5deacc6b5029999e7b9384ead0be31332b889f8 | |
| parent | 423387c41a06ed002d6a017ff8f9e074c32a47ac (diff) | |
| download | krb5-0334904c593755c04315747883b67bc07d856a2a.tar.gz krb5-0334904c593755c04315747883b67bc07d856a2a.tar.xz krb5-0334904c593755c04315747883b67bc07d856a2a.zip | |
Work around hash using host byte order
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14009 dc483132-0cff-0310-8789-dd5450dbe970
| -rw-r--r-- | src/lib/crypto/yarrow/ChangeLog | 4 | ||||
| -rw-r--r-- | src/lib/crypto/yarrow/yhash.h | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/lib/crypto/yarrow/ChangeLog b/src/lib/crypto/yarrow/ChangeLog index cbdc2d216..22413ecfd 100644 --- a/src/lib/crypto/yarrow/ChangeLog +++ b/src/lib/crypto/yarrow/ChangeLog @@ -1,3 +1,7 @@ +2001-11-19 Sam Hartman <hartmans@mit.edu> + + * yhash.h: Work around sha1 implementation using host byte order + 2001-11-19 Danilo Almeida <dalmeida@mit.edu> * Makefile.in: Fix typo OUTP -> OUTPRE. diff --git a/src/lib/crypto/yarrow/yhash.h b/src/lib/crypto/yarrow/yhash.h index 98c440302..24208a6b5 100644 --- a/src/lib/crypto/yarrow/yhash.h +++ b/src/lib/crypto/yarrow/yhash.h @@ -15,8 +15,16 @@ #define HASH_Init(x) shsInit(x) #define HASH_Update(x, buf, sz) shsUpdate(x, (const void*)buf, sz) #define HASH_Final(x, tdigest) do { \ - shsFinal(x); \ - memcpy((tdigest), (void *) (x)->digest, SHS_DIGESTSIZE); \ + int loopvar; \ + unsigned char *out = (void *)(tdigest); \ + HASH_CTX *ctx = (x); \ + shsFinal(ctx); \ +for (loopvar=0; loopvar<(sizeof(ctx->digest)/sizeof(ctx->digest[0])); loopvar++) { \ + out[loopvar*4] = (ctx->digest[loopvar]>>24)&0xff; \ + out[loopvar*4+1] = (ctx->digest[loopvar]>>16)&0xff; \ + out[loopvar*4+2] = (ctx->digest[loopvar]>>8)&0xff; \ + out[loopvar*4+3] = ctx->digest[loopvar]&0xff; \ +} \ } while(0) |
