pull up r23749 from trunk
authorTom Yu <tlyu@mit.edu>
Mon, 15 Mar 2010 23:50:46 +0000 (23:50 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 15 Mar 2010 23:50:46 +0000 (23:50 +0000)
 ------------------------------------------------------------------------
 r23749 | ghudson | 2010-02-24 13:57:08 -0500 (Wed, 24 Feb 2010) | 9 lines

 ticket: 6668
 subject: Two problems in kadm5_get_principal mask handling
 target_version: 1.8
 tags: pullup

 KADM5_MOD_NAME was being applied to entry->principal instead of
 entry->mod_name.  KADM5_MKVNO was not being applied to entry->mkvno.
 Patch from Marcus Watts <mdw@umich.edu>.

ticket: 6668
version_fixed: 1.8.1
status: resolved

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-8@23807 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/kadm5/srv/svr_principal.c

index 3cb3b6b51a00bb8d8a325cf2a1f0a0cec0b0b0f3..469a8e885ab92873e6cd03309355e8439e4edb6e 100644 (file)
@@ -858,8 +858,8 @@ kadm5_get_principal(void *server_handle, krb5_principal principal,
         if (! (mask & KADM5_MOD_TIME))
             entry->mod_date = 0;
         if (! (mask & KADM5_MOD_NAME)) {
-            krb5_free_principal(handle->context, entry->principal);
-            entry->principal = NULL;
+            krb5_free_principal(handle->context, entry->mod_name);
+            entry->mod_name = NULL;
         }
     }
 
@@ -871,10 +871,12 @@ kadm5_get_principal(void *server_handle, krb5_principal principal,
             if (kdb.key_data[i].key_data_kvno > entry->kvno)
                 entry->kvno = kdb.key_data[i].key_data_kvno;
 
-    ret = krb5_dbe_get_mkvno(handle->context, &kdb, master_keylist,
-                             &entry->mkvno);
-    if (ret)
-        goto done;
+    if (mask & KADM5_MKVNO) {
+        ret = krb5_dbe_get_mkvno(handle->context, &kdb, master_keylist,
+                                 &entry->mkvno);
+        if (ret)
+            goto done;
+    }
 
     if (mask & KADM5_MAX_RLIFE)
         entry->max_renewable_life = kdb.max_renewable_life;