diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-07-21 19:01:35 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-07-21 19:01:35 +0000 |
commit | a9883866e0b8c72986965c98dbfa98b7f50640cf (patch) | |
tree | fff4ac58e1e5740d12bf669bcac1e9310624fc31 /src/lib/kdb/kdb5.c | |
parent | b802a4d4ec3e94a7ae8766e702c4cf1be47b5bf6 (diff) | |
download | krb5-a9883866e0b8c72986965c98dbfa98b7f50640cf.tar.gz krb5-a9883866e0b8c72986965c98dbfa98b7f50640cf.tar.xz krb5-a9883866e0b8c72986965c98dbfa98b7f50640cf.zip |
Revert the part of r24157 which added the dal_version argument to the
init_library interface. Instead use the already existing maj_ver
field of the DAL vtable to detect incompatibilities. Since maj_ver
is a short int, use an incrementing number instead of a date for the
major version.
ticket: 6749
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24200 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb/kdb5.c')
-rw-r--r-- | src/lib/kdb/kdb5.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/kdb/kdb5.c b/src/lib/kdb/kdb5.c index 7d0b84ca2b..9786503005 100644 --- a/src/lib/kdb/kdb5.c +++ b/src/lib/kdb/kdb5.c @@ -295,7 +295,7 @@ kdb_load_library(krb5_context kcontext, char *lib_name, db_library *libptr) memcpy(&lib->vftabl, vftabl_addr, sizeof(kdb_vftabl)); kdb_setup_opt_functions(lib); - status = lib->vftabl.init_library(KRB5_KDB_DAL_VERSION); + status = lib->vftabl.init_library(); if (status) goto cleanup; @@ -389,10 +389,16 @@ kdb_load_library(krb5_context kcontext, char *lib_name, db_library * lib) goto clean_n_exit; } + if (((kdb_vftabl *)vftabl_addrs[0])->maj_ver != + KRB5_KDB_DAL_MAJOR_VERSION) { + status = KRB5_KDB_DBTYPE_MISMATCH; + goto clean_n_exit; + } + memcpy(&(*lib)->vftabl, vftabl_addrs[0], sizeof(kdb_vftabl)); kdb_setup_opt_functions(*lib); - if ((status = (*lib)->vftabl.init_library(KRB5_KDB_DAL_VERSION))) + if ((status = (*lib)->vftabl.init_library())) goto clean_n_exit; clean_n_exit: |