From a0b1bd8b7ee7d2ffe91176f3dd186ca39cabc358 Mon Sep 17 00:00:00 2001 From: antiduh Date: Thu, 3 Jul 2014 20:37:32 +0000 Subject: [PATCH] Fixed ClientContext.Initialize so that it always outputs a token if one was generated, independent of status. --- NSspi/Contexts/ClientContext.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/NSspi/Contexts/ClientContext.cs b/NSspi/Contexts/ClientContext.cs index b00b33a..b67c98f 100644 --- a/NSspi/Contexts/ClientContext.cs +++ b/NSspi/Contexts/ClientContext.cs @@ -156,15 +156,20 @@ namespace NSspi.Contexts } } - if ( status == SecurityStatus.OK ) + if( status.IsError() == false ) { - base.Initialize( rawExpiry.ToDateTime() ); + if( status == SecurityStatus.OK ) + { + base.Initialize( rawExpiry.ToDateTime() ); + } + outToken = null; - } - else if ( status == SecurityStatus.ContinueNeeded ) - { - outToken = new byte[outTokenBuffer.Length]; - Array.Copy( outTokenBuffer.Buffer, outToken, outToken.Length ); + + if( outTokenBuffer.Length != 0 ) + { + outToken = new byte[outTokenBuffer.Length]; + Array.Copy( outTokenBuffer.Buffer, outToken, outToken.Length ); + } } else {