Make results of krb5_db_def_fetch_mkey more predictable
authorGreg Hudson <ghudson@mit.edu>
Mon, 1 Jun 2009 22:39:31 +0000 (22:39 +0000)
committerGreg Hudson <ghudson@mit.edu>
Mon, 1 Jun 2009 22:39:31 +0000 (22:39 +0000)
commit9d4a7b700805858bc1a091cd6561ee9f5aef20af
tree79b58bb79d763be33f6d4486518c47ce5b17a13c
parent023b437e080172568dd7cee175a95b450b89c90b
Make results of krb5_db_def_fetch_mkey more predictable

krb5_db_def_fetch_mkey tries the stash file as a keytab, then falls
back to the old stash file format.  If the stash file was in keytab
format, but didn't contain the desired master key, we would try to
read a keytab file as a stash file.  This could succeed or fail
depending on byte order and other unpredictable factors.  The upshot
was that one of the libkadm5 unit tests (init 108) was getting a
different error code on different platforms.

To fix this, only try the stash file format if we get
KRB5_KEYTAB_BADVNO trying the keytab format.  This requires reworking
the error handling logic.

ticket: 6506
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22397 dc483132-0cff-0310-8789-dd5450dbe970
src/lib/kdb/kdb_default.c