diff options
author | Richard Levitte <levitte@openssl.org> | 2003-02-12 17:20:39 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2003-02-12 17:20:39 +0000 |
commit | 9ec1d35f29c5d3c0c6a2461610c7db494a0d9aa9 (patch) | |
tree | 5150329350db2a78357efa97ce4fad4993a4ace1 /crypto/des/cbc_cksm.c | |
parent | cf56663fb71ce279eb8ea603faf0a3c98cc7bc47 (diff) |
Adjust DES_cbc_cksum() so the returned value is the same as MIT's
mit_des_cbc_cksum(). The difference was first observed, then verified by
looking at the MIT source.
Diffstat (limited to 'crypto/des/cbc_cksm.c')
-rw-r--r-- | crypto/des/cbc_cksm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/des/cbc_cksm.c b/crypto/des/cbc_cksm.c index 6c5305b99d..09a7ba56aa 100644 --- a/crypto/des/cbc_cksm.c +++ b/crypto/des/cbc_cksm.c @@ -93,5 +93,14 @@ DES_LONG DES_cbc_cksum(const unsigned char *in, DES_cblock *output, l2c(tout1,out); } tout0=tin0=tin1=tin[0]=tin[1]=0; + /* + Transform the data in tout1 so that it will + match the return value that the MIT Kerberos + mit_des_cbc_cksum API returns. + */ + tout1 = ((tout1 >> 24L) & 0x000000FF) + | ((tout1 >> 8L) & 0x0000FF00) + | ((tout1 << 8L) & 0x00FF0000) + | ((tout1 << 24L) & 0xFF000000); return(tout1); } |