diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-07-13 00:53:46 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-07-13 00:53:46 +0000 |
commit | 80a3846c5c7b04625b112b2ee555292f8347dd52 (patch) | |
tree | 300bfea2a49cc92cc6cd774f7541ccfc81a3e5cc /src/lib/kdb/kdb5.c | |
parent | 0d34b37b7abcdd2eba13d45df5feadf135e4602a (diff) | |
download | krb5-80a3846c5c7b04625b112b2ee555292f8347dd52.tar.gz krb5-80a3846c5c7b04625b112b2ee555292f8347dd52.tar.xz krb5-80a3846c5c7b04625b112b2ee555292f8347dd52.zip |
Add check_policy_as and check_policy_tgs to the DAL table with
corresponding libkdb5 APIs, replacing the CHECK_POLICY_AS and
CHECK_POLICY_TGS methods of db_invoke.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24184 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb/kdb5.c')
-rw-r--r-- | src/lib/kdb/kdb5.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/lib/kdb/kdb5.c b/src/lib/kdb/kdb5.c index 0e12eb183f..521bbb40b3 100644 --- a/src/lib/kdb/kdb5.c +++ b/src/lib/kdb/kdb5.c @@ -2265,6 +2265,45 @@ krb5_db_check_transited_realms(krb5_context kcontext, } krb5_error_code +krb5_db_check_policy_as(krb5_context kcontext, krb5_kdc_req *request, + krb5_db_entry *client, krb5_db_entry *server, + krb5_timestamp kdc_time, const char **status, + krb5_data *e_data) +{ + krb5_error_code ret; + kdb_vftabl *v; + + *status = NULL; + *e_data = empty_data(); + ret = get_vftabl(kcontext, &v); + if (ret) + return ret; + if (v->check_policy_as == NULL) + return KRB5_PLUGIN_OP_NOTSUPP; + return v->check_policy_as(kcontext, request, client, server, kdc_time, + status, e_data); +} + +krb5_error_code +krb5_db_check_policy_tgs(krb5_context kcontext, krb5_kdc_req *request, + krb5_db_entry *server, krb5_ticket *ticket, + const char **status, krb5_data *e_data) +{ + krb5_error_code ret; + kdb_vftabl *v; + + *status = NULL; + *e_data = empty_data(); + ret = get_vftabl(kcontext, &v); + if (ret) + return ret; + if (v->check_policy_tgs == NULL) + return KRB5_PLUGIN_OP_NOTSUPP; + return v->check_policy_tgs(kcontext, request, server, ticket, status, + e_data); +} + +krb5_error_code krb5_db_invoke(krb5_context kcontext, unsigned int method, const krb5_data *req, |