diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-10-01 02:27:09 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-10-06 19:21:44 +0200 |
commit | 999b69d176a967aad8b6a871632d1869757181aa (patch) | |
tree | 1730799d873fe1cd978b1d8a7585adb15f889466 /source4/auth/gensec/spnego.c | |
parent | f4095b62a8030cb9d929bb113f3488f3917b8f9b (diff) | |
download | samba-999b69d176a967aad8b6a871632d1869757181aa.tar.gz samba-999b69d176a967aad8b6a871632d1869757181aa.tar.bz2 samba-999b69d176a967aad8b6a871632d1869757181aa.zip |
s4:gensec: pass down want_features to the spnego backend mech
metze
Diffstat (limited to 'source4/auth/gensec/spnego.c')
-rw-r--r-- | source4/auth/gensec/spnego.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source4/auth/gensec/spnego.c b/source4/auth/gensec/spnego.c index 1855e0583d..bf991616bd 100644 --- a/source4/auth/gensec/spnego.c +++ b/source4/auth/gensec/spnego.c @@ -1094,6 +1094,20 @@ static NTSTATUS gensec_spnego_update(struct gensec_security *gensec_security, TA return NT_STATUS_INVALID_PARAMETER; } +static void gensec_spnego_want_feature(struct gensec_security *gensec_security, + uint32_t feature) +{ + struct spnego_state *spnego_state = (struct spnego_state *)gensec_security->private_data; + + if (!spnego_state || !spnego_state->sub_sec_security) { + gensec_security->want_features |= feature; + return; + } + + gensec_want_feature(spnego_state->sub_sec_security, + feature); +} + static bool gensec_spnego_have_feature(struct gensec_security *gensec_security, uint32_t feature) { @@ -1133,6 +1147,7 @@ static const struct gensec_security_ops gensec_spnego_security_ops = { .unwrap_packets = gensec_spnego_unwrap_packets, .session_key = gensec_spnego_session_key, .session_info = gensec_spnego_session_info, + .want_feature = gensec_spnego_want_feature, .have_feature = gensec_spnego_have_feature, .enabled = true, .priority = GENSEC_SPNEGO |