- Let asking for user's credentials
if (!session)
return(NS_ERROR_OUT_OF_MEMORY);
NS_ADDREF(*sessionState = session);
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"));
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;
+
u = strdup(NS_LossyConvertUTF16toASCII(username).get());
p = strdup(NS_LossyConvertUTF16toASCII(password).get());
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,
tmp_token.value = (void *) u;
tmp_token.length = strlen((const char *)tmp_token.value);
maj_stat = gss_import_name(&min_stat, &tmp_token,
gss_delete_sec_context(&min_stat, &gss_ctx, GSS_C_NO_BUFFER);
gss_ctx = GSS_C_NO_CONTEXT;
gss_state = GSS_CTX_EMPTY;
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)
}
NS_IMPL_ISUPPORTS0(nsMoonshotSessionState)