* cc_stdio.c, cc_file.c: Unsigned/signed int cleanup
authorEzra Peisach <epeisach@mit.edu>
Tue, 17 Oct 2000 23:00:06 +0000 (23:00 +0000)
committerEzra Peisach <epeisach@mit.edu>
Tue, 17 Oct 2000 23:00:06 +0000 (23:00 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12780 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/ccache/ChangeLog
src/lib/krb5/ccache/cc_file.c
src/lib/krb5/ccache/cc_stdio.c

index 556eda1a502cd35d14e983eebe6752d0ec219128..8c2724ad65a7853030f0c80ce8c50a7616913ece 100644 (file)
@@ -1,3 +1,7 @@
+2000-10-17  Ezra Peisach  <epeisach@mit.edu>
+
+       * cc_stdio.c, cc_file.c: Unsigned/signed int cleanup.
+
 2000-10-03  Ezra Peisach  <epeisach@mit.edu>
 
        * ser_cc.c (krb5_ccache_externalize): Use krb5_cc_get_name instead
index c70c4ae3645744ce591dff22d09f1f569299e1ee..a088ecb4b87f432ff37c8b89ad7af39e1c1dd74d 100644 (file)
@@ -123,7 +123,7 @@ krb5_error_code krb5_fcc_read
         KRB5_PROTOTYPE((krb5_context, 
                   krb5_ccache id , 
                   krb5_pointer buf,
-                  int len));
+                  unsigned int len));
 krb5_error_code krb5_fcc_read_principal 
         KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_principal *princ ));
 krb5_error_code krb5_fcc_read_keyblock 
@@ -176,7 +176,7 @@ krb5_error_code krb5_change_cache
    KRB5_PROTOTYPE((void));
 
 krb5_error_code krb5_fcc_write 
-        KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_pointer buf , int len ));
+        KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_pointer buf , unsigned int len ));
 krb5_error_code krb5_fcc_store_principal 
         KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_principal princ ));
 krb5_error_code krb5_fcc_store_keyblock 
@@ -185,6 +185,8 @@ krb5_error_code krb5_fcc_store_data
         KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_data *data ));
 krb5_error_code krb5_fcc_store_int32 
         KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_int32 i ));
+krb5_error_code krb5_fcc_store_ui_4
+        KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_ui_4 i ));
 krb5_error_code krb5_fcc_store_ui_2 
         KRB5_PROTOTYPE((krb5_context, krb5_ccache id , krb5_int32 i ));
 krb5_error_code krb5_fcc_store_octet 
@@ -303,12 +305,11 @@ krb5_fcc_read(context, id, buf, len)
    krb5_context context;
    krb5_ccache id;
    krb5_pointer buf;
-   int len;
+   const unsigned int len;
 {
      int ret;
-     unsigned ulen = len;
 
-     ret = read(((krb5_fcc_data *) id->data)->fd, (char *) buf, ulen);
+     ret = read(((krb5_fcc_data *) id->data)->fd, (char *) buf, len);
      if (ret == -1)
          return krb5_fcc_interpret(context, errno);
      else if (ret != len)
@@ -529,7 +530,7 @@ krb5_fcc_read_data(context, id, data)
      if (data->data == NULL)
          return KRB5_CC_NOMEM;
 
-     kret = krb5_fcc_read(context, id, data->data, data->length);
+     kret = krb5_fcc_read(context, id, data->data, (unsigned) data->length);
      CHECK(kret);
      
      data->data[data->length] = 0; /* Null terminate, just in case.... */
@@ -570,7 +571,7 @@ krb5_fcc_read_addr(context, id, addr)
      if (addr->length == 0)
             return KRB5_OK;
 
-     addr->contents = (krb5_octet *) malloc((unsigned) addr->length);
+     addr->contents = (krb5_octet *) malloc(addr->length);
      if (addr->contents == NULL)
          return KRB5_CC_NOMEM;
 
@@ -753,7 +754,7 @@ krb5_fcc_read_authdatum(context, id, a)
     if (a->length == 0 )
            return KRB5_OK;
 
-    a->contents = (krb5_octet *) malloc((unsigned) a->length);
+    a->contents = (krb5_octet *) malloc(a->length);
     if (a->contents == NULL)
        return KRB5_CC_NOMEM;
 
@@ -787,12 +788,10 @@ krb5_fcc_write(context, id, buf, len)
    krb5_context context;
    krb5_ccache id;
    krb5_pointer buf;
-   int len;
+   unsigned int len;
 {
      int ret;
-     unsigned int ulen = len;
-
-     ret = write(((krb5_fcc_data *)id->data)->fd, (char *) buf, ulen);
+     ret = write(((krb5_fcc_data *)id->data)->fd, (char *) buf, len);
      if (ret < 0)
          return krb5_fcc_interpret(context, errno);
      if (ret != len)
@@ -895,7 +894,7 @@ krb5_fcc_store_keyblock(context, id, keyblock)
         ret = krb5_fcc_store_ui_2(context, id, keyblock->enctype);
         CHECK(ret);
      }
-     ret = krb5_fcc_store_int32(context, id, keyblock->length);
+     ret = krb5_fcc_store_ui_4(context, id, keyblock->length);
      CHECK(ret);
      return krb5_fcc_write(context, id, (char *) keyblock->contents, keyblock->length);
 }
@@ -910,7 +909,7 @@ krb5_fcc_store_addr(context, id, addr)
 
      ret = krb5_fcc_store_ui_2(context, id, addr->addrtype);
      CHECK(ret);
-     ret = krb5_fcc_store_int32(context, id, addr->length);
+     ret = krb5_fcc_store_ui_4(context, id, addr->length);
      CHECK(ret);
      return krb5_fcc_write(context, id, (char *) addr->contents, addr->length);
 }
@@ -924,7 +923,7 @@ krb5_fcc_store_data(context, id, data)
 {
      krb5_error_code ret;
 
-     ret = krb5_fcc_store_int32(context, id, data->length);
+     ret = krb5_fcc_store_ui_4(context, id, data->length);
      CHECK(ret);
      return krb5_fcc_write(context, id, data->data, data->length);
 }
@@ -954,6 +953,31 @@ krb5_fcc_store_int32(context, id, i)
     }
 }
 
+krb5_error_code
+krb5_fcc_store_ui_4(context, id, i)
+   krb5_context context;
+   krb5_ccache id;
+   krb5_ui_4 i;
+{
+    krb5_fcc_data *data = (krb5_fcc_data *)id->data;
+    unsigned char buf[4];
+
+    if ((data->version == KRB5_FCC_FVNO_1) ||
+       (data->version == KRB5_FCC_FVNO_2)) 
+       return krb5_fcc_write(context, id, (char *) &i, sizeof(krb5_int32));
+    else {
+       buf[3] = (unsigned char) (i & 0xFF);
+       i >>= 8;
+       buf[2] = (unsigned char) (i & 0xFF);
+       i >>= 8;
+       buf[1] = (unsigned char) (i & 0xFF);
+       i >>= 8;
+       buf[0] = (unsigned char) (i & 0xFF);
+       
+       return krb5_fcc_write(context, id, buf, 4);
+    }
+}
+
 krb5_error_code
 krb5_fcc_store_ui_2(context, id, i)
    krb5_context context;
@@ -1047,7 +1071,7 @@ krb5_fcc_store_authdatum (context, id, a)
     krb5_error_code ret;
     ret = krb5_fcc_store_ui_2(context, id, a->ad_type);
     CHECK(ret);
-    ret = krb5_fcc_store_int32(context, id, a->length);
+    ret = krb5_fcc_store_ui_4(context, id, a->length);
     CHECK(ret);
     return krb5_fcc_write(context, id, (krb5_pointer) a->contents, a->length);
 }
index 756b68a4cc51653c8eb66b76da44ff1959f552c9..f7ea17b29cf5020d2c5e8812ce5cfdcacf692027 100644 (file)
@@ -131,7 +131,7 @@ krb5_error_code krb5_scc_read
        PROTOTYPE((krb5_context, 
                   krb5_ccache id , 
                   krb5_pointer buf,
-                  int len));
+                  unsigned int len));
 krb5_error_code krb5_scc_read_principal 
        PROTOTYPE((krb5_context, 
                   krb5_ccache id , 
@@ -216,7 +216,7 @@ krb5_error_code krb5_scc_write
        PROTOTYPE((krb5_context, 
                   krb5_ccache id , 
                   krb5_pointer buf , 
-                  int len ));
+                  unsigned int len ));
 krb5_error_code krb5_scc_store_principal 
        PROTOTYPE((krb5_context, 
                   krb5_ccache id , 
@@ -233,6 +233,10 @@ krb5_error_code krb5_scc_store_int32
        PROTOTYPE((krb5_context, 
                   krb5_ccache id , 
                   krb5_int32 i ));
+krb5_error_code krb5_scc_store_ui_4 
+       PROTOTYPE((krb5_context, 
+                  krb5_ccache id , 
+                  krb5_ui_4 i ));
 krb5_error_code krb5_scc_store_ui_2 
        PROTOTYPE((krb5_context, 
                   krb5_ccache id , 
@@ -346,13 +350,12 @@ krb5_scc_read(context, id, buf, len)
    krb5_context context;
    krb5_ccache id;
    krb5_pointer buf;
-   int len;
+   unsigned int len;
 {
      int ret;
-     unsigned int ulen = len;
 
      errno = 0;
-     ret = fread((char *) buf, 1, ulen, ((krb5_scc_data *) id->data)->file);
+     ret = fread((char *) buf, 1, len, ((krb5_scc_data *) id->data)->file);
      if ((ret == 0) && errno)
          return krb5_scc_interpret(context, errno);
      else if (ret != len)
@@ -569,7 +572,7 @@ krb5_scc_read_data(context, id, data)
      if (data->data == NULL)
          return KRB5_CC_NOMEM;
 
-     kret = krb5_scc_read(context, id, data->data, data->length);
+     kret = krb5_scc_read(context, id, data->data, (unsigned) data->length);
      CHECK(kret);
      
      data->data[data->length] = 0; /* Null terminate, just in case.... */
@@ -610,7 +613,7 @@ krb5_scc_read_addr(context, id, addr)
      if (addr->length == 0)
             return KRB5_OK;
 
-     addr->contents = (krb5_octet *) malloc((unsigned) addr->length);
+     addr->contents = (krb5_octet *) malloc(addr->length);
      if (addr->contents == NULL)
          return KRB5_CC_NOMEM;
 
@@ -786,7 +789,7 @@ krb5_scc_read_authdatum(context, id, a)
     if (a->length == 0 )
            return KRB5_OK;
 
-    a->contents = (krb5_octet *) malloc((unsigned) a->length);
+    a->contents = (krb5_octet *) malloc(a->length);
     if (a->contents == NULL)
        return KRB5_CC_NOMEM;
 
@@ -820,13 +823,11 @@ krb5_scc_write(context, id, buf, len)
    krb5_context context;
    krb5_ccache id;
    krb5_pointer buf;
-   int len;
+   unsigned int len;
 {
      int ret;
-     unsigned int ulen = len;
-
      errno = 0;
-     ret = fwrite((char *) buf, 1, ulen, ((krb5_scc_data *)id->data)->file);
+     ret = fwrite((char *) buf, 1, len, ((krb5_scc_data *)id->data)->file);
      if ((ret == 0) && errno) {
          return krb5_scc_interpret (context, errno);
      } else if (ret != len)
@@ -930,7 +931,7 @@ krb5_scc_store_keyblock(context, id, keyblock)
         ret = krb5_scc_store_ui_2(context, id, keyblock->enctype);
         CHECK(ret);
      }
-     ret = krb5_scc_store_int32(context, id, keyblock->length);
+     ret = krb5_scc_store_ui_4(context, id, keyblock->length);
      CHECK(ret);
      return krb5_scc_write(context, id, (char *) keyblock->contents, keyblock->length);
 }
@@ -945,7 +946,7 @@ krb5_scc_store_addr(context, id, addr)
 
      ret = krb5_scc_store_ui_2(context, id, addr->addrtype);
      CHECK(ret);
-     ret = krb5_scc_store_int32(context, id, addr->length);
+     ret = krb5_scc_store_ui_4(context, id, addr->length);
      CHECK(ret);
      return krb5_scc_write(context, id, (char *) addr->contents, addr->length);
 }
@@ -959,7 +960,7 @@ krb5_scc_store_data(context, id, data)
 {
      krb5_error_code ret;
 
-     ret = krb5_scc_store_int32(context, id, data->length);
+     ret = krb5_scc_store_ui_4(context, id, data->length);
      CHECK(ret);
      return krb5_scc_write(context, id, data->data, data->length);
 }
@@ -989,6 +990,31 @@ krb5_scc_store_int32(context, id, i)
     }
 }
 
+krb5_error_code
+krb5_scc_store_ui_4(context, id, i)
+   krb5_context context;
+   krb5_ccache id;
+   krb5_ui_4 i;
+{
+    krb5_scc_data *data = (krb5_scc_data *)id->data;
+    unsigned char buf[4];
+
+    if ((data->version == KRB5_SCC_FVNO_1) ||
+       (data->version == KRB5_SCC_FVNO_2)) 
+       return krb5_scc_write(context, id, (char *) &i, sizeof(krb5_int32));
+    else {
+       buf[3] = i & 0xFF;
+       i >>= 8;
+       buf[2] = i & 0xFF;
+       i >>= 8;
+       buf[1] = i & 0xFF;
+       i >>= 8;
+       buf[0] = i & 0xFF;
+       
+       return krb5_scc_write(context, id, buf, 4);
+    }
+}
+
 krb5_error_code
 krb5_scc_store_ui_2(context, id, i)
    krb5_context context;
@@ -1082,7 +1108,7 @@ krb5_scc_store_authdatum (context, id, a)
     krb5_error_code ret;
     ret = krb5_scc_store_ui_2(context, id, a->ad_type);
     CHECK(ret);
-    ret = krb5_scc_store_int32(context, id, a->length);
+    ret = krb5_scc_store_ui_4(context, id, a->length);
     CHECK(ret);
     return krb5_scc_write(context, id, (krb5_pointer) a->contents, a->length);
 }