summaryrefslogtreecommitdiffstats
path: root/src/kdc
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2011-10-06 20:08:29 +0000
committerGreg Hudson <ghudson@mit.edu>2011-10-06 20:08:29 +0000
commitf80666416e33efe29bfb1ffc711d482d67fc0873 (patch)
tree419ebe99016559fc1f5e3d7726a48c4eb1d07079 /src/kdc
parentd9ed152c4ba1fc5b8d2ca6f894e25e449d685c0c (diff)
Add get_string, free_string kdcpreauth callbacks
String attributes should be useful to preauth modules without having to link against libkdb5. Add a callback to make client string attributes accessible to modules. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25318 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc')
-rw-r--r--src/kdc/kdc_preauth.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/kdc/kdc_preauth.c b/src/kdc/kdc_preauth.c
index 7e9cde1f9e..6a04ff2aa7 100644
--- a/src/kdc/kdc_preauth.c
+++ b/src/kdc/kdc_preauth.c
@@ -574,6 +574,19 @@ fast_armor(krb5_context context, krb5_kdcpreauth_rock rock)
return rock->rstate->armor_key;
}
+static krb5_error_code
+get_string(krb5_context context, krb5_kdcpreauth_rock rock, const char *key,
+ char **value_out)
+{
+ return krb5_dbe_get_string(context, rock->client, key, value_out);
+}
+
+static void
+free_string(krb5_context context, krb5_kdcpreauth_rock rock, char *string)
+{
+ krb5_dbe_free_string(context, string);
+}
+
static void *
client_entry(krb5_context context, krb5_kdcpreauth_rock rock)
{
@@ -587,6 +600,8 @@ static struct krb5_kdcpreauth_callbacks_st callbacks = {
free_keys,
request_body,
fast_armor,
+ get_string,
+ free_string,
client_entry
};