Add enhanced error messages to new error return cases, explaining the
authorKen Raeburn <raeburn@mit.edu>
Wed, 10 Oct 2007 18:27:37 +0000 (18:27 +0000)
committerKen Raeburn <raeburn@mit.edu>
Wed, 10 Oct 2007 18:27:37 +0000 (18:27 +0000)
(fairly generic) errors codes.

ticket: 5777

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

src/lib/krb5/keytab/kt_file.c

index 4be2cc645d604c80c40660bd771aed9deb7ad78e..e6e04e32632c858951dbe38823082ec1592a389a 100644 (file)
@@ -486,6 +486,8 @@ krb5_ktfile_start_seq_get(krb5_context context, krb5_keytab id, krb5_kt_cursor *
        /* Wrapped?!  */
        KTITERS(id)--;
        KTUNLOCK(id);
+       krb5_set_error_message(context, KRB5_KT_IOERR,
+                              "Too many keytab iterators active");
        return KRB5_KT_IOERR;   /* XXX */
     }
     KTUNLOCK(id);
@@ -883,6 +885,8 @@ krb5_ktfile_add(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)
     if (KTFILEP(id)) {
        /* Iterator(s) active -- no changes.  */
        KTUNLOCK(id);
+       krb5_set_error_message(context, KRB5_KT_IOERR,
+                              "Cannot change keytab with keytab iterators active");
        return KRB5_KT_IOERR;   /* XXX */
     }
     if ((retval = krb5_ktfileint_openw(context, id))) {
@@ -916,6 +920,8 @@ krb5_ktfile_remove(krb5_context context, krb5_keytab id, krb5_keytab_entry *entr
     if (KTFILEP(id)) {
        /* Iterator(s) active -- no changes.  */
        KTUNLOCK(id);
+       krb5_set_error_message(context, KRB5_KT_IOERR,
+                              "Cannot change keytab with keytab iterators active");
        return KRB5_KT_IOERR;   /* XXX */
     }