From: Daniel Kouril Date: Fri, 1 Apr 2011 19:53:07 +0000 (-0400) Subject: - Logging X-Git-Url: http://www.project-moonshot.org/gitweb/?p=moonshot-firefox.git;a=commitdiff_plain;h=00e6d47913a7077733526d9e97b24a28a639f711 - Logging - Let asking for user's credentials --- 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)