summaryrefslogtreecommitdiffstats
path: root/src/plugins/kdb
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2010-07-13 15:53:23 +0000
committerGreg Hudson <ghudson@mit.edu>2010-07-13 15:53:23 +0000
commitbc45e6ec043183dded03744c3f36531464353e78 (patch)
tree4b1b11d1531506f9821c792fa17918211996f78f /src/plugins/kdb
parent80a3846c5c7b04625b112b2ee555292f8347dd52 (diff)
downloadkrb5-bc45e6ec043183dded03744c3f36531464353e78.tar.gz
krb5-bc45e6ec043183dded03744c3f36531464353e78.tar.xz
krb5-bc45e6ec043183dded03744c3f36531464353e78.zip
Add audit_as_req to the DAL with a corresponding libkdb5 API,
replacing the AUDIT_AS_REQ method of db_invoke. Remove the AUDIT_TGS_REQ method of db_invoke without adding a replacement, as there was no KDC support for it. (It can be added at a later time if necessary.) ticket: 6749 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24185 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/plugins/kdb')
-rw-r--r--src/plugins/kdb/db2/db2_exp.c7
-rw-r--r--src/plugins/kdb/db2/kdb_db2.c8
-rw-r--r--src/plugins/kdb/db2/kdb_db2.h5
-rw-r--r--src/plugins/kdb/db2/kdb_ext.c29
-rw-r--r--src/plugins/kdb/ldap/ldap_exp.c1
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/kdb_ext.c20
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c8
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h5
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/libkdb_ldap.exports1
9 files changed, 36 insertions, 48 deletions
diff --git a/src/plugins/kdb/db2/db2_exp.c b/src/plugins/kdb/db2/db2_exp.c
index a95d47dfcb..80c55b24f9 100644
--- a/src/plugins/kdb/db2/db2_exp.c
+++ b/src/plugins/kdb/db2/db2_exp.c
@@ -186,6 +186,12 @@ WRAP_K (krb5_db2_check_policy_as,
krb5_data *e_data),
(kcontext, request, client, server, kdc_time, status, e_data));
+WRAP_K (krb5_db2_audit_as_req,
+ (krb5_context kcontext, krb5_kdc_req *request, krb5_db_entry *client,
+ krb5_db_entry *server, krb5_timestamp authtime,
+ krb5_error_code error_code),
+ (kcontext, request, client, server, authtime, error_code));
+
WRAP_K (krb5_db2_invoke,
(krb5_context kcontext,
unsigned int method,
@@ -251,5 +257,6 @@ kdb_vftabl PLUGIN_SYMBOL_NAME(krb5_db2, kdb_function_table) = {
0, 0, 0, 0,
/* check_policy_as */ wrap_krb5_db2_check_policy_as,
0,
+ /* audit_as_req */ wrap_krb5_db2_audit_as_req,
/* invoke */ wrap_krb5_db2_invoke
};
diff --git a/src/plugins/kdb/db2/kdb_db2.c b/src/plugins/kdb/db2/kdb_db2.c
index a53e26258a..8c6c97afc3 100644
--- a/src/plugins/kdb/db2/kdb_db2.c
+++ b/src/plugins/kdb/db2/kdb_db2.c
@@ -1649,3 +1649,11 @@ krb5_db2_check_policy_as(krb5_context kcontext, krb5_kdc_req *request,
*status = "LOCKED_OUT";
return retval;
}
+
+krb5_error_code
+krb5_db2_audit_as_req(krb5_context kcontext, krb5_kdc_req *request,
+ krb5_db_entry *client, krb5_db_entry *server,
+ krb5_timestamp authtime, krb5_error_code error_code)
+{
+ return krb5_db2_lockout_audit(kcontext, client, authtime, error_code);
+}
diff --git a/src/plugins/kdb/db2/kdb_db2.h b/src/plugins/kdb/db2/kdb_db2.h
index 0bddcf4a59..0c8095a936 100644
--- a/src/plugins/kdb/db2/kdb_db2.h
+++ b/src/plugins/kdb/db2/kdb_db2.h
@@ -152,6 +152,11 @@ krb5_db2_check_policy_as(krb5_context kcontext, krb5_kdc_req *request,
krb5_timestamp kdc_time, const char **status,
krb5_data *e_data);
+krb5_error_code
+krb5_db2_audit_as_req(krb5_context kcontext, krb5_kdc_req *request,
+ krb5_db_entry *client, krb5_db_entry *server,
+ krb5_timestamp authtime, krb5_error_code error_code);
+
/* methods */
krb5_error_code
krb5_db2_invoke(krb5_context context,
diff --git a/src/plugins/kdb/db2/kdb_ext.c b/src/plugins/kdb/db2/kdb_ext.c
index 8f7ad94278..a27aa2ca7c 100644
--- a/src/plugins/kdb/db2/kdb_ext.c
+++ b/src/plugins/kdb/db2/kdb_ext.c
@@ -34,38 +34,11 @@
#include <errno.h>
#include "kdb_db2.h"
-static krb5_error_code
-krb5_db2_audit_as(krb5_context context,
- unsigned int method,
- const krb5_data *request,
- krb5_data *response)
-{
- const kdb_audit_as_req *req;
- krb5_error_code code;
-
- req = (const kdb_audit_as_req *)request->data;
-
- code = krb5_db2_lockout_audit(context, req->client,
- req->authtime, req->error_code);
-
- return code;
-}
-
krb5_error_code
krb5_db2_invoke(krb5_context context,
unsigned int method,
const krb5_data *req,
krb5_data *rep)
{
- krb5_error_code code = KRB5_PLUGIN_OP_NOTSUPP;
-
- switch (method) {
- case KRB5_KDB_METHOD_AUDIT_AS:
- code = krb5_db2_audit_as(context, method, req, rep);
- break;
- default:
- break;
- }
-
- return code;
+ return KRB5_PLUGIN_OP_NOTSUPP;
}
diff --git a/src/plugins/kdb/ldap/ldap_exp.c b/src/plugins/kdb/ldap/ldap_exp.c
index 8236406c2f..3bd6c67501 100644
--- a/src/plugins/kdb/ldap/ldap_exp.c
+++ b/src/plugins/kdb/ldap/ldap_exp.c
@@ -86,6 +86,7 @@ kdb_vftabl PLUGIN_SYMBOL_NAME(krb5_ldap, kdb_function_table) = {
/* check_transited_realms */ NULL,
/* check_policy_as */ krb5_ldap_check_policy_as,
/* check_policy_tgs */ NULL,
+ /* audit_as_req */ krb5_ldap_audit_as_req,
/* invoke */ krb5_ldap_invoke,
};
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ext.c b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ext.c
index 0330e15e8a..75b4543347 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ext.c
+++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ext.c
@@ -35,23 +35,6 @@
#include "kdb_ldap.h"
static krb5_error_code
-krb5_ldap_audit_as(krb5_context context,
- unsigned int method,
- const krb5_data *request,
- krb5_data *response)
-{
- const kdb_audit_as_req *req;
- krb5_error_code code;
-
- req = (const kdb_audit_as_req *)request->data;
-
- code = krb5_ldap_lockout_audit(context, req->client,
- req->authtime, req->error_code);
-
- return code;
-}
-
-static krb5_error_code
krb5_ldap_check_allowed_to_delegate(krb5_context context,
unsigned int method,
const krb5_data *request,
@@ -94,9 +77,6 @@ krb5_ldap_invoke(krb5_context context,
krb5_error_code code = KRB5_PLUGIN_OP_NOTSUPP;
switch (method) {
- case KRB5_KDB_METHOD_AUDIT_AS:
- code = krb5_ldap_audit_as(context, method, req, rep);
- break;
case KRB5_KDB_METHOD_CHECK_ALLOWED_TO_DELEGATE:
code = krb5_ldap_check_allowed_to_delegate(context, method, req, rep);
break;
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c
index 7127ce4a03..185e1f3300 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c
+++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c
@@ -541,3 +541,11 @@ krb5_ldap_check_policy_as(krb5_context kcontext, krb5_kdc_req *request,
*status = "LOCKED_OUT";
return retval;
}
+
+krb5_error_code
+krb5_ldap_audit_as_req(krb5_context kcontext, krb5_kdc_req *request,
+ krb5_db_entry *client, krb5_db_entry *server,
+ krb5_timestamp authtime, krb5_error_code error_code)
+{
+ return krb5_ldap_lockout_audit(kcontext, client, authtime, error_code);
+}
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
index 8e935e1937..6c795d6564 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
+++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
@@ -302,6 +302,11 @@ krb5_ldap_check_policy_as(krb5_context kcontext, krb5_kdc_req *request,
krb5_timestamp kdc_time, const char **status,
krb5_data *e_data);
+krb5_error_code
+krb5_ldap_audit_as_req(krb5_context kcontext, krb5_kdc_req *request,
+ krb5_db_entry *client, krb5_db_entry *server,
+ krb5_timestamp authtime, krb5_error_code error_code);
+
/* DAL functions */
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/libkdb_ldap.exports b/src/plugins/kdb/ldap/libkdb_ldap/libkdb_ldap.exports
index affdb38bb9..6692c71699 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/libkdb_ldap.exports
+++ b/src/plugins/kdb/ldap/libkdb_ldap/libkdb_ldap.exports
@@ -45,4 +45,5 @@ krb5_ldap_create
krb5_ldap_set_mkey_list
krb5_ldap_get_mkey_list
krb5_ldap_check_policy_as
+krb5_ldap_audit_as_req
krb5_ldap_invoke