add file format version code
authorJohn Kohl <jtkohl@mit.edu>
Tue, 12 Feb 1991 14:01:43 +0000 (14:01 +0000)
committerJohn Kohl <jtkohl@mit.edu>
Tue, 12 Feb 1991 14:01:43 +0000 (14:01 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1665 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/ccache/stdio/scc_gennew.c
src/lib/krb5/ccache/stdio/scc_gprin.c

index 9a98d71f6a8ad693a980b3e0bd0213b08302c473..1296f5c8e9776fa34694933acb6a499072ddcd58 100644 (file)
@@ -76,7 +76,20 @@ krb5_scc_generate_new (id)
      if (!f)
         return krb5_scc_interpret (errno);
      else {
-        fclose(f);
+        krb5_int16 scc_fvno = htons(KRB5_SCC_FVNO);
+        int errsave;
+
+        if (!fwrite((char *)&scc_fvno, sizeof(scc_fvno), 1, f)) {
+            errsave = errno;
+            (void) fclose(f);
+            (void) remove(((krb5_scc_data *) lid->data)->filename);
+            return krb5_scc_interpret(errsave);
+        }
+        if (fclose(f) == EOF) {
+            errsave = errno;
+            (void) remove(((krb5_scc_data *) lid->data)->filename);
+            return krb5_scc_interpret(errsave);
+        }
         *id = lid;
         return KRB5_OK;
      }
index 7b8dad889d131a0442c1ebbf5ec0789b6bfd99bd..87e05da478cba14ad356f0847609213114214b23 100644 (file)
@@ -37,8 +37,9 @@ krb5_scc_get_principal(id, princ)
 {
      krb5_error_code kret;
 
-     MAYBE_OPEN (id, "r");
-     fseek(((krb5_scc_data *) id->data)->file, 0, 0);
+     MAYBE_OPEN (id, SCC_OPEN_RDONLY);
+     /* skip over vno at beginning of file */
+     fseek(((krb5_scc_data *) id->data)->file, sizeof(krb5_int16), 0);
 
      kret = krb5_scc_read_principal(id, princ);