diff options
| author | Keith Vetter <keithv@fusion.com> | 1995-03-15 01:57:23 +0000 |
|---|---|---|
| committer | Keith Vetter <keithv@fusion.com> | 1995-03-15 01:57:23 +0000 |
| commit | 26bcae14eec6b4392500ecb144e345b2948ef544 (patch) | |
| tree | 1712bd35d85d6e87bd711fe768ef60c43a1a0b6e /src/lib/crypto/des | |
| parent | c61811b52dbd314e051292f4ba1f14fc1d1fb003 (diff) | |
Two changes in the crypto directory: 1) 16 vs 32 bit errors in DES and 2)
removed crud for making a DLL (will be done at a higher level.)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5123 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/crypto/des')
| -rw-r--r-- | src/lib/crypto/des/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lib/crypto/des/f_cbc.c | 30 | ||||
| -rw-r--r-- | src/lib/crypto/des/f_cksum.c | 30 | ||||
| -rw-r--r-- | src/lib/crypto/des/f_pcbc.c | 32 |
4 files changed, 51 insertions, 46 deletions
diff --git a/src/lib/crypto/des/ChangeLog b/src/lib/crypto/des/ChangeLog index 049ac7688..6a6be5466 100644 --- a/src/lib/crypto/des/ChangeLog +++ b/src/lib/crypto/des/ChangeLog @@ -1,3 +1,8 @@ +Tue Mar 14 17:28:35 1995 Keith Vetter (keithv@fusion.com) + + * f_cbc.c, f_cksum.c, f_pcbc.c: added casts so that chars get promoted + to longs instead of ints when doing 32 bit bit manipulations. + Thu Mar 2 17:50:39 1995 Keith Vetter (keithv@fusion.com) * Makefile.in: changed LIBNAME for the PC. diff --git a/src/lib/crypto/des/f_cbc.c b/src/lib/crypto/des/f_cbc.c index f2f78daf7..b7e4d0231 100644 --- a/src/lib/crypto/des/f_cbc.c +++ b/src/lib/crypto/des/f_cbc.c @@ -80,14 +80,14 @@ mit_des_cbc_encrypt(in, out, length, schedule, ivec, encrypt) * forward. Otherwise we have to fart around. */ if (length >= 8) { - left ^= ((*ip++) & 0xff) << 24; - left ^= ((*ip++) & 0xff) << 16; - left ^= ((*ip++) & 0xff) << 8; - left ^= (*ip++) & 0xff; - right ^= ((*ip++) & 0xff) << 24; - right ^= ((*ip++) & 0xff) << 16; - right ^= ((*ip++) & 0xff) << 8; - right ^= (*ip++) & 0xff; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 24; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 16; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 8; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)); + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 24; + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 16; + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 8; + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)); length -= 8; } else { /* @@ -98,19 +98,19 @@ mit_des_cbc_encrypt(in, out, length, schedule, ivec, encrypt) ip += (int) length; switch(length) { case 7: - right ^= (*(--ip) & 0xff) << 8; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 8; case 6: - right ^= (*(--ip) & 0xff) << 16; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 16; case 5: - right ^= (*(--ip) & 0xff) << 24; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 24; case 4: - left ^= *(--ip) & 0xff; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)); case 3: - left ^= (*(--ip) & 0xff) << 8; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 8; case 2: - left ^= (*(--ip) & 0xff) << 16; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 16; case 1: - left ^= (*(--ip) & 0xff) << 24; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 24; break; } length = 0; diff --git a/src/lib/crypto/des/f_cksum.c b/src/lib/crypto/des/f_cksum.c index aeace4451..2514a0f9e 100644 --- a/src/lib/crypto/des/f_cksum.c +++ b/src/lib/crypto/des/f_cksum.c @@ -63,14 +63,14 @@ mit_des_cbc_cksum(in, out, length, schedule, ivec) * forward. Otherwise we have to fart around. */ if (len >= 8) { - left ^= ((*ip++) & 0xff) << 24; - left ^= ((*ip++) & 0xff) << 16; - left ^= ((*ip++) & 0xff) << 8; - left ^= (*ip++) & 0xff; - right ^= ((*ip++) & 0xff) << 24; - right ^= ((*ip++) & 0xff) << 16; - right ^= ((*ip++) & 0xff) << 8; - right ^= (*ip++) & 0xff; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 24; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 16; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 8; + left ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)); + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 24; + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 16; + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)) << 8; + right ^= ((unsigned KRB_INT32) ((*ip++) & 0xff)); len -= 8; } else { /* @@ -81,19 +81,19 @@ mit_des_cbc_cksum(in, out, length, schedule, ivec) ip += (int) len; switch(len) { case 7: - right ^= (*(--ip) & 0xff) << 8; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 8; case 6: - right ^= (*(--ip) & 0xff) << 16; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 16; case 5: - right ^= (*(--ip) & 0xff) << 24; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 24; case 4: - left ^= *(--ip) & 0xff; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)); case 3: - left ^= (*(--ip) & 0xff) << 8; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 8; case 2: - left ^= (*(--ip) & 0xff) << 16; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 16; case 1: - left ^= (*(--ip) & 0xff) << 24; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 24; break; } len = 0; diff --git a/src/lib/crypto/des/f_pcbc.c b/src/lib/crypto/des/f_pcbc.c index 511ac379c..d547da7da 100644 --- a/src/lib/crypto/des/f_pcbc.c +++ b/src/lib/crypto/des/f_pcbc.c @@ -79,21 +79,21 @@ mit_des_pcbc_encrypt(in, out, length, schedule, ivec, encrypt) ip += (int) length; switch(length) { case 8: - right ^= *(--ip) & 0xff; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)); case 7: - right ^= (*(--ip) & 0xff) << 8; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 8; case 6: - right ^= (*(--ip) & 0xff) << 16; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 16; case 5: - right ^= (*(--ip) & 0xff) << 24; + right ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 24; case 4: - left ^= *(--ip) & 0xff; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)); case 3: - left ^= (*(--ip) & 0xff) << 8; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 8; case 2: - left ^= (*(--ip) & 0xff) << 16; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 16; case 1: - left ^= (*(--ip) & 0xff) << 24; + left ^= ((unsigned KRB_INT32) (*(--ip) & 0xff)) << 24; break; } length = 0; @@ -178,21 +178,21 @@ mit_des_pcbc_encrypt(in, out, length, schedule, ivec, encrypt) op += (int) length; switch(length) { case 8: - *(--op) = right & 0xff; + *(--op) = (unsigned char) (right & 0xff); case 7: - *(--op) = (right >> 8) & 0xff; + *(--op) = (unsigned char) ((right >> 8) & 0xff); case 6: - *(--op) = (right >> 16) & 0xff; + *(--op) = (unsigned char) ((right >> 16) & 0xff); case 5: - *(--op) = (right >> 24) & 0xff; + *(--op) = (unsigned char) ((right >> 24) & 0xff); case 4: - *(--op) = left & 0xff; + *(--op) = (unsigned char) (left & 0xff); case 3: - *(--op) = (left >> 8) & 0xff; + *(--op) = (unsigned char) ((left >> 8) & 0xff); case 2: - *(--op) = (left >> 16) & 0xff; + *(--op) = (unsigned char) ((left >> 16) & 0xff); case 1: - *(--op) = (left >> 24) & 0xff; + *(--op) = (unsigned char) ((left >> 24) & 0xff); break; } break; /* we're done */ |
