Blob Blame History Raw
From 4987a21f4839ab7ea50e932c72df05075efb89b3 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose@redhat.com>
Date: Thu, 21 Mar 2019 15:05:33 +0100
Subject: [PATCH 2/2] library: return error if no matching key was found

To avoid a misleading debug message indicating success a proper erro
code should be returned the no matching key was found when trying to
copy an keytab entry for a new principal.

Related to https://bugzilla.redhat.com/show_bug.cgi?id=1644311
---
 library/adkrb5.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/library/adkrb5.c b/library/adkrb5.c
index 033c181..7f77373 100644
--- a/library/adkrb5.c
+++ b/library/adkrb5.c
@@ -298,11 +298,10 @@ _adcli_krb5_keytab_copy_entries (krb5_context k5,
 
 		code = _adcli_krb5_get_keyblock (k5, keytab, &entry.key,
 		                                 match_enctype_and_kvno, &closure);
-		if (code != 0) {
-			return code;
+		if (code != 0 || closure.matched == 0) {
+			return code != 0 ? code : ENOKEY;
 		}
 
-
 		entry.principal = principal;
 		entry.vno = kvno;
 
-- 
2.20.1