diff options
| author | Greg Hudson <ghudson@mit.edu> | 2010-02-22 04:52:30 +0000 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2010-02-22 04:52:30 +0000 |
| commit | d1da896d356bc80e632a9713e5b4246384fb3e77 (patch) | |
| tree | e470cdf6093e57a906a00eec9a093e07d5e92373 /src/kadmin/testing/scripts/simple_dump.plin | |
| parent | fc3f2e78462b01338055cadc1e224e29d4ed4e9a (diff) | |
| download | krb5-d1da896d356bc80e632a9713e5b4246384fb3e77.tar.gz krb5-d1da896d356bc80e632a9713e5b4246384fb3e77.tar.xz krb5-d1da896d356bc80e632a9713e5b4246384fb3e77.zip | |
Fix two unrelated problems in SPNEGO which don't crop up with the krb5
mechanism.
1. The third call to spnego_init_accept_context uses faulty logic to
determine if the exchange is complete, preventing a third mech token
from being sent to the acceptor if no MIC exchange is required.
Follow the logic used in the second call (in init_ctx_nego), which is
correct.
2. If the acceptor selects a mech other than the optimistic mech, it
sets sc->mic_reqd to 1 whether or not the selected mech supports MICs
(which isn't known until the mech completes). Most code outside of
handle_mic checks sc->mic_reqd along with (sc->ctx_flags &
GSS_C_INTEG_FLAG), but the code in acc_ctx_call_acc neglected to do
so, so it could improperly delegate responsibility for deciding when
the negotiation was finished to handle_mic--which never gets called if
(sc->ctx_flags & GSS_C_INTEG_FLAG) is false. Fix acc_ctx_call_acc to
check sc->ctx_flags so that mechs which don't support integrity
protection can complete if they are selected non-optimistically.
ticket: 6603
target_version: 1.8
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23742 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/testing/scripts/simple_dump.plin')
0 files changed, 0 insertions, 0 deletions
