diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-07-02 03:23:21 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-07-02 03:23:21 +0000 |
commit | 41c912b326a4b88b548a6897fd9efe11f71ebfad (patch) | |
tree | 29bb0a6b9be1484ea28c556067215bae747bd5ba /src/plugins/kdb/db2 | |
parent | 3ecdc07603dfa6acc4604abfc5c2e0274204746d (diff) | |
download | krb5-41c912b326a4b88b548a6897fd9efe11f71ebfad.tar.gz krb5-41c912b326a4b88b548a6897fd9efe11f71ebfad.tar.xz krb5-41c912b326a4b88b548a6897fd9efe11f71ebfad.zip |
DAL improvements
Add KRB5_KDB_API_VERSION to allow callers to adjust to incompatible
changes in libkdb; to be kept in sync with the libkdb major version,
which is bumped to 5 in anticipation of other changes.
Add KRB5_KDB_DAL_VERSION to allow database modules to detect when they
are mismatched with the KDB version. Since KDB modules are often
developed concurrently with trunk code, this is defined to be the date
of the last incompatible DAL change. The DAL version is passed to the
init_library DAL function; the module should check it against the value
of KRB5_KDB_DAL_VERSION it was compiled with and return
KRB5_KDB_DBTYPE_MISMATCH if it doesn't match.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24157 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/plugins/kdb/db2')
-rw-r--r-- | src/plugins/kdb/db2/db2_exp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/kdb/db2/db2_exp.c b/src/plugins/kdb/db2/db2_exp.c index c7fb7566a0..73aa6394f0 100644 --- a/src/plugins/kdb/db2/db2_exp.c +++ b/src/plugins/kdb/db2/db2_exp.c @@ -201,9 +201,12 @@ WRAP_K (krb5_db2_invoke, (kcontext, method, request, response)); static krb5_error_code -hack_init () +hack_init (int dal_version) { krb5_error_code c; + + if (dal_version != KRB5_KDB_DAL_VERSION) + return KRB5_KDB_DBTYPE_MISMATCH; c = krb5int_mutex_alloc (&krb5_db2_mutex); if (c) return c; |