Blame SOURCES/krb5-kvno-230379.patch

fab64b
From 16c9dd3d2f8d74958495674f4906626a74ef8c12 Mon Sep 17 00:00:00 2001
fab64b
From: Robbie Harwood <rharwood@redhat.com>
fab64b
Date: Fri, 22 Apr 2016 10:03:07 -0400
fab64b
Subject: [PATCH] krb5-kvno-230379.patch
5af5b2
fab64b
---
fab64b
 src/kadmin/ktutil/ktutil.c    | 5 +++--
fab64b
 src/lib/krb5/keytab/kt_file.c | 2 +-
fab64b
 2 files changed, 4 insertions(+), 3 deletions(-)
5af5b2
fab64b
diff --git a/src/kadmin/ktutil/ktutil.c b/src/kadmin/ktutil/ktutil.c
fab64b
index ef16d37a5..64a6d6ab1 100644
fab64b
--- a/src/kadmin/ktutil/ktutil.c
fab64b
+++ b/src/kadmin/ktutil/ktutil.c
fab64b
@@ -140,7 +140,7 @@ void ktutil_add_entry(argc, argv)
5af5b2
     char *princ = NULL;
5af5b2
     char *enctype = NULL;
5af5b2
     krb5_kvno kvno = 0;
5af5b2
-    int use_pass = 0, use_key = 0, i;
5af5b2
+    int use_pass = 0, use_key = 0, use_kvno = 0, i;
5af5b2
 
5af5b2
     for (i = 1; i < argc; i++) {
5af5b2
         if ((strlen(argv[i]) == 2) && !strncmp(argv[i], "-p", 2)) {
fab64b
@@ -149,6 +149,7 @@ void ktutil_add_entry(argc, argv)
5af5b2
         }
5af5b2
         if ((strlen(argv[i]) == 2) && !strncmp(argv[i], "-k", 2)) {
5af5b2
             kvno = (krb5_kvno) atoi(argv[++i]);
5af5b2
+            use_kvno++;
5af5b2
             continue;
5af5b2
         }
5af5b2
         if ((strlen(argv[i]) == 2) && !strncmp(argv[i], "-e", 2)) {
fab64b
@@ -165,7 +166,7 @@ void ktutil_add_entry(argc, argv)
5af5b2
         }
5af5b2
     }
5af5b2
 
5af5b2
-    if (argc != 8 || !(princ && kvno && enctype) || (use_pass+use_key != 1)) {
5af5b2
+    if (argc != 8 || !(princ && use_kvno && enctype) || (use_pass+use_key != 1)) {
5af5b2
         fprintf(stderr, _("usage: %s (-key | -password) -p principal "
5af5b2
                           "-k kvno -e enctype\n"), argv[0]);
5af5b2
         return;
fab64b
diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c
fab64b
index 674d88bab..131549ffe 100644
fab64b
--- a/src/lib/krb5/keytab/kt_file.c
fab64b
+++ b/src/lib/krb5/keytab/kt_file.c
fab64b
@@ -377,7 +377,7 @@ krb5_ktfile_get_entry(krb5_context context, krb5_keytab id,
8c1676
              * Otherwise, remember that we were here so we can return the right
8c1676
              * error, and free the new.
8c1676
              */
8c1676
-            if (new_entry.vno == kvno) {
8c1676
+            if (new_entry.vno == kvno || new_entry.vno == IGNORE_VNO) {
5af5b2
                 krb5_kt_free_entry(context, &cur_entry);
5af5b2
                 cur_entry = new_entry;
8c1676
                 if (new_entry.vno == kvno)