diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2012-07-05 20:41:43 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2012-07-05 20:41:43 +0000 |
commit | 727b45ba9d9724363cb7738a8d7affeec0860e08 (patch) | |
tree | 995838a50384295161aab5509cf9bb4d012dce1d | |
parent | af2f455217b40049d055076c6799139c87abf1cf (diff) | |
download | neon-727b45ba9d9724363cb7738a8d7affeec0860e08.tar.gz |
Patch from Nathanael Rensen:
* src/ne_auth.c (ah_post_send): Clear SSPI context for any
non-auth-failure response code.
* src/ne_sspi.c (ne_sspi_clear_context): Clear continueNeeded flag.
git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1892 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
-rw-r--r-- | src/ne_auth.c | 4 | ||||
-rw-r--r-- | src/ne_sspi.c | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/ne_auth.c b/src/ne_auth.c index 3bdf228..6e95930 100644 --- a/src/ne_auth.c +++ b/src/ne_auth.c @@ -1547,8 +1547,8 @@ static int ah_post_send(ne_request *req, void *cookie, const ne_status *status) } #ifdef HAVE_SSPI - /* Clear the SSPI context after successfull authentication. */ - if ((status->klass == 2 || status->klass == 3) && sess->sspi_context) { + /* Clear the SSPI context after successful authentication. */ + if (status->code != sess->status_code && sess->sspi_context) { ne_sspi_clear_context(sess->sspi_context); } #endif diff --git a/src/ne_sspi.c b/src/ne_sspi.c index 9c67f5c..9b40df7 100644 --- a/src/ne_sspi.c +++ b/src/ne_sspi.c @@ -467,6 +467,7 @@ int ne_sspi_clear_context(void *context) return status; } sspiContext->authfinished = 0; + sspiContext->continueNeeded = 0; return 0; } /* |