summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2012-07-05 20:41:43 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2012-07-05 20:41:43 +0000
commit727b45ba9d9724363cb7738a8d7affeec0860e08 (patch)
tree995838a50384295161aab5509cf9bb4d012dce1d
parentaf2f455217b40049d055076c6799139c87abf1cf (diff)
downloadneon-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.c4
-rw-r--r--src/ne_sspi.c1
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;
}
/*