From 00e6d47913a7077733526d9e97b24a28a639f711 Mon Sep 17 00:00:00 2001 From: Daniel Kouril Date: Fri, 1 Apr 2011 15:53:07 -0400 Subject: [PATCH] - Logging - Let asking for user's credentials --- nsHttpMoonshot.cpp | 10 ++++++++-- nsMoonshotSessionState.cpp | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/nsHttpMoonshot.cpp b/nsHttpMoonshot.cpp index 2b4643b..0f709ab 100644 --- a/nsHttpMoonshot.cpp +++ b/nsHttpMoonshot.cpp @@ -174,13 +174,16 @@ nsHttpMoonshot::ChallengeReceived(nsIHttpChannel *httpChannel, if (!session) return(NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*sessionState = session); - *identityInvalid = PR_TRUE; LOG(("nsHttpMoonshot::A new session context established\n")); } else { LOG(("nsHttpMoonshot::Still using context from previous request\n")); - *identityInvalid = PR_FALSE; } + LOG(("nsHttpMoonshot:: gss_state = %d\n", session->gss_state)); + + *identityInvalid = + (session->gss_state == GSS_CTX_EMPTY) ? PR_TRUE : PR_FALSE; + return NS_OK; } @@ -418,6 +421,9 @@ nsHttpMoonshot::GenerateCredentials_1_9_2(nsIHttpChannel *httpChannel, u = strdup(NS_LossyConvertUTF16toASCII(username).get()); p = strdup(NS_LossyConvertUTF16toASCII(password).get()); + LOG(("Acquiring credentials for user '%s' using password '%s'\n", + u, p)); + tmp_token.value = (void *) u; tmp_token.length = strlen((const char *)tmp_token.value); maj_stat = gss_import_name(&min_stat, &tmp_token, diff --git a/nsMoonshotSessionState.cpp b/nsMoonshotSessionState.cpp index 127d08e..54329cf 100644 --- a/nsMoonshotSessionState.cpp +++ b/nsMoonshotSessionState.cpp @@ -31,6 +31,10 @@ nsMoonshotSessionState::Reset() gss_delete_sec_context(&min_stat, &gss_ctx, GSS_C_NO_BUFFER); gss_ctx = GSS_C_NO_CONTEXT; gss_state = GSS_CTX_EMPTY; + + if (gss_cred != GSS_C_NO_CREDENTIAL) + gss_release_cred(&min_stat, &gss_cred); + gss_cred = GSS_C_NO_CREDENTIAL; } NS_IMPL_ISUPPORTS0(nsMoonshotSessionState) -- 2.1.4