Fixed ClientContext.Initialize so that it always outputs a token if one was generated, independent of status.

This commit is contained in:
antiduh
2014-07-03 20:37:32 +00:00
parent cabf7e5249
commit a0b1bd8b7e

View File

@@ -156,16 +156,21 @@ namespace NSspi.Contexts
} }
} }
if( status.IsError() == false )
{
if( status == SecurityStatus.OK ) if( status == SecurityStatus.OK )
{ {
base.Initialize( rawExpiry.ToDateTime() ); base.Initialize( rawExpiry.ToDateTime() );
outToken = null;
} }
else if ( status == SecurityStatus.ContinueNeeded )
outToken = null;
if( outTokenBuffer.Length != 0 )
{ {
outToken = new byte[outTokenBuffer.Length]; outToken = new byte[outTokenBuffer.Length];
Array.Copy( outTokenBuffer.Buffer, outToken, outToken.Length ); Array.Copy( outTokenBuffer.Buffer, outToken, outToken.Length );
} }
}
else else
{ {
throw new SSPIException( "Failed to invoke InitializeSecurityContext for a client", status ); throw new SSPIException( "Failed to invoke InitializeSecurityContext for a client", status );