diff --git a/admin/copy.c b/admin/copy.c index 913eb893e..cd19d62db 100644 --- a/admin/copy.c +++ b/admin/copy.c @@ -67,15 +67,15 @@ kt_copy_int (const char *from, const char *to) return 1; } - if (verbose_flag) - fprintf(stderr, "copying %s to %s\n", from, to); - ret = krb5_kt_start_seq_get (context, src_keytab, &cursor); if (ret) { krb5_warn (context, ret, "krb5_kt_start_seq_get %s", keytab_string); goto out; } + if (verbose_flag) + fprintf(stderr, "copying %s to %s\n", from, to); + while((ret = krb5_kt_next_entry(context, src_keytab, &entry, &cursor)) == 0) { char *name_str; diff --git a/admin/list.c b/admin/list.c index de0954270..8af146a27 100644 --- a/admin/list.c +++ b/admin/list.c @@ -77,13 +77,14 @@ do_list(const char *keytab_string) return 0; } - printf ("%s:\n\n", keytab_string); - ret = krb5_kt_start_seq_get(context, keytab, &cursor); if(ret){ krb5_warn(context, ret, "krb5_kt_start_seq_get %s", keytab_string); goto out; } + + printf ("%s:\n\n", keytab_string); + while((ret = krb5_kt_next_entry(context, keytab, &entry, &cursor)) == 0){ #define CHECK_MAX(F) if(max_##F < strlen(kp->F)) max_##F = strlen(kp->F) diff --git a/admin/purge.c b/admin/purge.c index 6b3faf4b2..e6a49e37a 100644 --- a/admin/purge.c +++ b/admin/purge.c @@ -147,15 +147,15 @@ kt_purge(int argc, char **argv) return 1; } - if (verbose_flag) - fprintf (stderr, "Using keytab %s\n", keytab_string); - ret = krb5_kt_start_seq_get(context, keytab, &cursor); if(ret){ krb5_warn(context, ret, "krb5_kt_start_seq_get %s", keytab_string); goto out; } + if (verbose_flag) + fprintf (stderr, "Using keytab %s\n", keytab_string); + while((ret = krb5_kt_next_entry(context, keytab, &entry, &cursor)) == 0) { add_entry (entry.principal, entry.vno, &head); krb5_kt_free_entry(context, &entry);