diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-01-28 21:39:31 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-01-28 21:39:31 +0000 |
commit | f0e084261aec6be2d508b33f960d38d19f0d0345 (patch) | |
tree | 6317db1b8cab2e9e99ce4d3f0a8f8d3cb259b239 /src/lib/kdb/libkdb5.exports | |
parent | 0b929b1f34ea96096f1fbb3736bc33ff3375afa1 (diff) | |
download | krb5-f0e084261aec6be2d508b33f960d38d19f0d0345.tar.gz krb5-f0e084261aec6be2d508b33f960d38d19f0d0345.tar.xz krb5-f0e084261aec6be2d508b33f960d38d19f0d0345.zip |
Handle migration from pre-1.7 databases with master key kvno != 1
krb5_dbe_lookup_mkvno assumes an mkvno of 1 for entries with no
explicit tl_data. We've seen at least one pre-1.7 KDB with a master
kvno of 0, violating this assumption. Fix this as follows:
* krb5_dbe_lookup_mkvno outputs 0 instead of 1 if no tl_data exists.
* A new function krb5_dbe_get_mkvno translates this 0 value to the
minimum version number in the mkey_list. (krb5_dbe_lookup_mkvno
cannot do this as it doesn't take the mkey_list as a parameter.)
* Call sites to krb5_dbe_lookup_mkvno are converted to
krb5_dbe_get_mkvno, except for an LDAP case where it is acceptable
to store 0 if the mkvno is unknown.
ticket: 6650
target_version: 1.7.1
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23676 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb/libkdb5.exports')
-rw-r--r-- | src/lib/kdb/libkdb5.exports | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/kdb/libkdb5.exports b/src/lib/kdb/libkdb5.exports index b493df090..8f0644bef 100644 --- a/src/lib/kdb/libkdb5.exports +++ b/src/lib/kdb/libkdb5.exports @@ -43,6 +43,7 @@ krb5_dbe_free_actkvno_list krb5_dbe_free_key_data_contents krb5_dbe_free_mkey_aux_list krb5_dbe_free_key_list +krb5_dbe_get_mkvno krb5_dbe_lookup_last_pwd_change krb5_dbe_lookup_actkvno krb5_dbe_lookup_mkey_aux |