aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Howard <lukeh@padl.com>2011-04-01 05:50:17 +0000
committerLuke Howard <lukeh@padl.com>2011-04-01 05:50:17 +0000
commit38cc720590e4488c0918880a2839f67b93e77576 (patch)
treeb062709c558d5dfbdd737e713e99b1b18c966336
parent991edbbfe80ef5e4bd1030f327525529c11f9668 (diff)
downloadkrb5-38cc720590e4488c0918880a2839f67b93e77576.zip
krb5-38cc720590e4488c0918880a2839f67b93e77576.tar.gz
krb5-38cc720590e4488c0918880a2839f67b93e77576.tar.bz2
s4u2proxy_set_attribute should only return EPERM for its own attribute
Failure to do this breaks other attribute providers' set_attribute() git-svn-id: svn://anonsvn.mit.edu/krb5/users/lhoward/saml2@24765 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/krb5/krb/s4u_authdata.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/lib/krb5/krb/s4u_authdata.c b/src/lib/krb5/krb/s4u_authdata.c
index 1c61943..54713cc 100644
--- a/src/lib/krb5/krb/s4u_authdata.c
+++ b/src/lib/krb5/krb/s4u_authdata.c
@@ -232,14 +232,6 @@ s4u2proxy_request_fini(krb5_context kcontext,
* interoperability
*/
-#if 0
-static krb5_data s4u2proxy_proxy_target_attr = {
- KV5M_DATA,
- sizeof("urn:constrained-delegation:proxy-target") - 1,
- "urn:constrained-delegation:proxy-target"
-};
-#endif
-
static krb5_data s4u2proxy_transited_services_attr = {
KV5M_DATA,
sizeof("urn:constrained-delegation:transited-services") - 1,
@@ -360,6 +352,8 @@ s4u2proxy_set_attribute(krb5_context kcontext,
const krb5_data *value)
{
/* Only the KDC can set this attribute. */
+ if (!data_eq(*attribute, s4u2proxy_transited_services_attr))
+ return ENOENT;
return EPERM;
}