Fix bug #6911 - Kerberos authentication from vista to samba fails when security blob...
authorJeremy Allison <jra@samba.org>
Thu, 26 May 2011 23:48:42 +0000 (16:48 -0700)
committerJeremy Allison <jra@samba.org>
Fri, 27 May 2011 00:57:27 +0000 (02:57 +0200)
commite05c9cdcb6bf710ddb7d683916ca26857a3bce18
treea7dfccf27b12aa4ef02985ed0077226b9966da85
parent875e29ba830b269faf8ca7ff7cd7fc95c0c18f28
Fix bug #6911 - Kerberos authentication from vista to samba fails when security blob size is greater than 16 kB

We were not correctly checking the output of asn1_start_tag().
asn1_start_tag() returns -1 and sets data->has_error if the
remaining blob size is too short to contain the tag length.
We were checking data->has_error and returning NT_STATUS_OK
(to allow the second asn.1 parse to fail in that case). We
should not be checking data->has_error in this case, but
falling through to the code that already checks the length.

Thanks to Jim for reproducing this for me. We don't get bitten
by this as we announce a max buffer size of 16k, greater than
Windows's 4k, which means that most krb5 spnego packets already
fit.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Fri May 27 02:57:27 CEST 2011 on sn-devel-104
source3/smbd/sesssetup.c