You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2018/02/25 13:27:45 UTC
svn commit: r1825303 -
/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
Author: pmouawad
Date: Sun Feb 25 13:27:44 2018
New Revision: 1825303
URL: http://svn.apache.org/viewvc?rev=1825303&view=rev
Log:
Bug 61664 - HTTP Authorization Manager : Digest works only with legacy RFC 2069 , RFC 2617 is not implemented
Fix Digest failure
Bugzilla Id: 61664
Modified:
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java?rev=1825303&r1=1825302&r2=1825303&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java Sun Feb 25 13:27:44 2018
@@ -222,8 +222,7 @@ public class HTTPHC4Impl extends HTTPHCA
Credentials credentials = null;
HttpClientKey key = (HttpClientKey) localContext.getAttribute(CONTEXT_ATTRIBUTE_CLIENT_KEY);
AuthScope authScope = null;
- CredentialsProvider credentialsProvider =
- (CredentialsProvider) context.getAttribute(HttpClientContext.CREDS_PROVIDER);
+ CredentialsProvider credentialsProvider = localContext.getCredentialsProvider();
if (key.hasProxy && !StringUtils.isEmpty(key.proxyUser)) {
authScope = new AuthScope(key.proxyHost, key.proxyPort);
credentials = credentialsProvider.getCredentials(authScope);
@@ -255,8 +254,7 @@ public class HTTPHC4Impl extends HTTPHCA
}
Authorization authorization =
authManager.getAuthForURL(url);
- CredentialsProvider credentialsProvider =
- (CredentialsProvider) context.getAttribute(HttpClientContext.CREDS_PROVIDER);
+ CredentialsProvider credentialsProvider = localContext.getCredentialsProvider();
if(authorization != null) {
AuthCache authCache = localContext.getAuthCache();
if(authCache == null) {
@@ -292,22 +290,22 @@ public class HTTPHC4Impl extends HTTPHCA
BasicScheme basicAuth = new BasicScheme();
authCache.put(targetHost, basicAuth);
} else if (authorization.getMechanism() == Mechanism.DIGEST) {
- DigestScheme digestAuth = (DigestScheme) authCache.get(targetHost);
- if(digestAuth == null) {
- digestAuth = new DigestScheme();
- }
JMeterVariables vars = JMeterContextService.getContext().getVariables();
DigestParameters digestParameters = (DigestParameters)
vars.getObject(DIGEST_PARAMETERS);
- digestAuth.overrideParamter("realm", authScope.getRealm());
if(digestParameters!=null) {
+ DigestScheme digestAuth = (DigestScheme) authCache.get(targetHost);
+ if(digestAuth == null) {
+ digestAuth = new DigestScheme();
+ }
+ digestAuth.overrideParamter("realm", authScope.getRealm());
digestAuth.overrideParamter("algorithm", digestParameters.getAlgorithm());
digestAuth.overrideParamter("charset", digestParameters.getCharset());
digestAuth.overrideParamter("nonce", digestParameters.getNonce());
digestAuth.overrideParamter("opaque", digestParameters.getOpaque());
digestAuth.overrideParamter("qop", digestParameters.getQop());
+ authCache.put(targetHost, digestAuth);
}
- authCache.put(targetHost, digestAuth);
} else if (authorization.getMechanism() == Mechanism.KERBEROS) {
KerberosScheme kerberosScheme = new KerberosScheme();
authCache.put(targetHost, kerberosScheme);