* des_int.h: Change prototypes for mit_des_cbc_encrypt(),
authorEzra Peisach <epeisach@mit.edu>
Tue, 17 Oct 2000 22:57:34 +0000 (22:57 +0000)
committerEzra Peisach <epeisach@mit.edu>
Tue, 17 Oct 2000 22:57:34 +0000 (22:57 +0000)
mit_des_cbc_cksum(), and mit_des3_cbc_encrypt() to take unsigned
long lengths.

* d3_cbc.c (mit_des3_cbc_encrypt): Length argument now takes an
unsigned long.

* f_cbc.c (mit_des_cbc_encrypt): Length argument now takes an
unsigned long.

* f_cksum.c (mit_des_cbc_cksum): Length argument now takes an
unsigned long.

* string2key.c: Unsigned/signed int cleanup. Test for a
salt-length of SALT_TYPE_AFS_LENGTH or -1 (for backwards
compatibilty) for use of mit_afs_string_to_key().

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12774 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/crypto/des/ChangeLog
src/lib/crypto/des/afsstring2key.c
src/lib/crypto/des/d3_cbc.c
src/lib/crypto/des/des_int.h
src/lib/crypto/des/f_cbc.c
src/lib/crypto/des/f_cksum.c
src/lib/crypto/des/string2key.c

index b90324639cf3f266e3b470fa8a61de641616fd77..0dab08cede9aeb143a6595b75e9ea26ca746c179 100644 (file)
@@ -1,3 +1,22 @@
+2000-10-17  Ezra Peisach  <epeisach@mit.edu>
+
+       * des_int.h: Change prototypes for mit_des_cbc_encrypt(),
+       mit_des_cbc_cksum(), and mit_des3_cbc_encrypt() to take unsigned
+       long lengths.
+
+       * d3_cbc.c (mit_des3_cbc_encrypt): Length argument now takes an
+       unsigned long.
+
+       * f_cbc.c (mit_des_cbc_encrypt): Length argument now takes an
+       unsigned long.
+
+       * f_cksum.c (mit_des_cbc_cksum): Length argument now takes an
+       unsigned long.
+
+       * string2key.c: Unsigned/signed int cleanup. Test for a
+       salt-length of SALT_TYPE_AFS_LENGTH or -1 (for backwards
+       compatibilty) for use of mit_afs_string_to_key().
+
 2000-06-30  Ezra Peisach  <epeisach@mit.edu>
 
        * afsstring2key.c: Initialization of S[8][64] - each 64 elements 
index 4cef2899651ed9e82761205552b8d8058896a63a..c993f0e7ffe86014b07fef7f76e9ec465fdacb50 100644 (file)
@@ -50,7 +50,7 @@ mit_afs_string_to_key (keyblock, data, salt)
      set up. */
   
     char *realm = salt->data;
-    register int i;
+    register unsigned int i;
     register krb5_octet *key = keyblock->contents;
 
     if (data->length <= 8) {
@@ -76,7 +76,7 @@ mit_afs_string_to_key (keyblock, data, salt)
       mit_des_cblock ikey, tkey;
 
       static mit_des_key_schedule key_sked;
-      int pw_len = strlen(realm)+data->length;
+      unsigned int pw_len = strlen(realm)+data->length;
       char *password = malloc(pw_len+1);
       if (!password) return ENOMEM;
 
index 18e1f1d078af33212c42b0ce1cde0c800a70df56..0204b719bd866ca63304f425e6403c6a65e2f7ac 100644 (file)
@@ -31,7 +31,7 @@ int
 mit_des3_cbc_encrypt(in, out, length, ks1, ks2, ks3, ivec, encrypt)
        const mit_des_cblock FAR *in;
        mit_des_cblock FAR *out;
-       long length;
+       unsigned long length;
        mit_des_key_schedule ks1, ks2, ks3;
        mit_des_cblock ivec;
        int encrypt;
index de8f2a480cc8c8de70fd40fe43b3fe70abb831c0..ec2047a25804ff9066ac2e83a604b859a8c28d59 100644 (file)
@@ -147,7 +147,7 @@ extern krb5_error_code mit_afs_string_to_key
 
 /* f_cksum.c */
 extern unsigned long mit_des_cbc_cksum
-    PROTOTYPE((krb5_octet FAR *, krb5_octet FAR *, long , mit_des_key_schedule ,
+    PROTOTYPE((krb5_octet FAR *, krb5_octet FAR *, unsigned long , mit_des_key_schedule ,
               krb5_octet FAR *));
 
 /* f_ecb.c */
@@ -156,7 +156,8 @@ extern int mit_des_ecb_encrypt
 
 /* f_cbc.c */
 extern int mit_des_cbc_encrypt
-    PROTOTYPE((const mit_des_cblock FAR *in, mit_des_cblock FAR *out, long length,
+    PROTOTYPE((const mit_des_cblock FAR *in, mit_des_cblock FAR *out, 
+              unsigned long length,
               mit_des_key_schedule schedule, mit_des_cblock ivec,
               int encrypt));
     
@@ -241,7 +242,7 @@ extern int mit_des3_ecb_encrypt
 extern int mit_des3_cbc_encrypt
        PROTOTYPE((const mit_des_cblock FAR *in,
                   mit_des_cblock FAR *out,
-                  long length,
+                  unsigned long length,
                   mit_des_key_schedule ks1,
                   mit_des_key_schedule ks2,
                   mit_des_key_schedule ks3,
index bc4e2afe786b1197c7126c3f2bdf7c974a2f23b4..cf81929e752f101248984277c6b0428b29695e3b 100644 (file)
@@ -40,7 +40,7 @@ int
 mit_des_cbc_encrypt(in, out, length, schedule, ivec, encrypt)
        const mit_des_cblock FAR *in;
        mit_des_cblock FAR *out;
-       long length;
+       unsigned long length;
        mit_des_key_schedule schedule;
        mit_des_cblock ivec;
        int encrypt;
index 5b1ba854e18c9acec4915a1c4aa59a6d01244bb7..fab39ede385ee1f0d2573743d50399883124ef10 100644 (file)
@@ -32,7 +32,7 @@ unsigned long
 mit_des_cbc_cksum(in, out, length, schedule, ivec)
        krb5_octet FAR *in;
        krb5_octet FAR *out;
-       long length;
+       unsigned long length;
        mit_des_key_schedule schedule;
        krb5_octet FAR *ivec;
 {
index 5381fdbc9adfb3a47bdcfbb5b3cdc4b6f08f000a..45a8500ec83c479edcde0e7e286dfb2e909d7d16 100644 (file)
@@ -75,13 +75,13 @@ krb5_keyblock FAR * keyblock;
 const krb5_data FAR * data;
 const krb5_data FAR * salt;
 {
-    register char *str, *copystr;
+    register krb5_octet *str, *copystr;
     register krb5_octet *key;
 
     register unsigned temp;
     register long i;        
     register int j;
-    register long length;
+    register unsigned long length;
     unsigned char *k_p;
     int forward;
     register char *p_char;
@@ -97,7 +97,7 @@ const krb5_data FAR * salt;
     key = keyblock->contents;
 
     if (salt) {
-      if (salt->length == -1) {
+      if (salt->length == SALT_TYPE_AFS_LENGTH || salt->length == (unsigned) -1) {
        /* cheat and do AFS string2key instead */
        return mit_afs_string_to_key (keyblock, data, salt);
       } else 
@@ -178,7 +178,7 @@ const krb5_data FAR * salt;
     memset((char *)key_sked, 0, sizeof(key_sked));
 
     /* clean & free the input string */
-    memset(copystr, 0, (size_t) length);
+    memset(copystr, 0, length);
     krb5_xfree(copystr);
 
     /* now fix up key parity again */