Implement GSS_KRB5_SEND_TO_KDC_X.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18684 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-10-20 18:58:22 +00:00
parent 4d27a506a5
commit 01e1d3e968

View File

@@ -107,7 +107,7 @@ _gsskrb5_set_sec_context_option
} else {
str = malloc(value->length + 1);
if (str) {
minor_status = 0;
*minor_status = 0;
return GSS_S_UNAVAILABLE;
}
memcpy(str, value->value, value->length);
@@ -117,8 +117,28 @@ _gsskrb5_set_sec_context_option
_gsskrb5_register_acceptor_identity(str);
free(str);
minor_status = 0;
return GSS_S_FAILURE;
*minor_status = 0;
return GSS_S_COMPLETE;
} else if (gss_oid_equal(desired_object, GSS_KRB5_SEND_TO_KDC_X)) {
if (value == NULL || value->length == 0) {
krb5_set_send_to_kdc_func(_gsskrb5_context, NULL, NULL);
} else {
struct gsskrb5_send_to_kdc c;
if (value->length != sizeof(c)) {
*minor_status = EINVAL;
return GSS_S_FAILURE;
}
memcpy(&c, value->value, sizeof(c));
krb5_set_send_to_kdc_func(_gsskrb5_context,
(krb5_send_to_kdc_func)c.func,
c.ptr);
}
*minor_status = 0;
return GSS_S_COMPLETE;
}