summaryrefslogtreecommitdiff
path: root/lib/libcrypto/des/cbc_cksm.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcrypto/des/cbc_cksm.c')
-rw-r--r--lib/libcrypto/des/cbc_cksm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/libcrypto/des/cbc_cksm.c b/lib/libcrypto/des/cbc_cksm.c
index 6c5305b99d9..09a7ba56aad 100644
--- a/lib/libcrypto/des/cbc_cksm.c
+++ b/lib/libcrypto/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);
}