Better support for "non-standard" GSS mechs
If an initial security context token doesn't have a standard header per RFC2743 then try all mechanisms until one succeeds or all fail. We still try to guess NTLMSSP, raw Kerberos, and SPNEGO, from tasting the initial security context token.
This commit is contained in:

committed by
Nico Williams

parent
4199118c76
commit
92c288994a
@@ -373,6 +373,13 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
|
||||
GSS_KRB5_MECHANISM);
|
||||
|
||||
if (ret) {
|
||||
/* Could be a raw AP-REQ (check for APPLICATION tag) */
|
||||
if (input_token_buffer->length == 0 ||
|
||||
((const uint8_t *)input_token_buffer->value)[0] != 0x6E) {
|
||||
*minor_status = ASN1_MISPLACED_FIELD;
|
||||
return GSS_S_DEFECTIVE_TOKEN;
|
||||
}
|
||||
|
||||
/* Assume that there is no OID wrapping. */
|
||||
indata.length = input_token_buffer->length;
|
||||
indata.data = input_token_buffer->value;
|
||||
|
Reference in New Issue
Block a user