You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2013/10/25 05:02:00 UTC
[1/2] git commit: upgrade to httpclient 4.3.1 Submitted by Oleg
Updated Branches:
refs/heads/master a605ba268 -> 6b3746366
upgrade to httpclient 4.3.1 Submitted by Oleg
Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/5a560697
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/5a560697
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/5a560697
Branch: refs/heads/master
Commit: 5a56069739e0cd4a508b7517f1d337d82edbcb99
Parents: a605ba2
Author: Olivier Lamy <ol...@apache.org>
Authored: Fri Oct 25 14:01:22 2013 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Fri Oct 25 14:01:22 2013 +1100
----------------------------------------------------------------------
wagon-providers/pom.xml | 2 +-
.../providers/http/AbstractHttpClientWagon.java | 129 +++++++++----------
2 files changed, 65 insertions(+), 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5a560697/wagon-providers/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/pom.xml b/wagon-providers/pom.xml
index c1c2b97..167e7e2 100644
--- a/wagon-providers/pom.xml
+++ b/wagon-providers/pom.xml
@@ -50,7 +50,7 @@ under the License.
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.3</version>
+ <version>4.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5a560697/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
index f0d2257..6e15554 100755
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
@@ -25,10 +25,7 @@ import org.apache.http.HttpException;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.Credentials;
-import org.apache.http.auth.NTCredentials;
-import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.auth.*;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.CookieSpecs;
@@ -352,6 +349,11 @@ public abstract class AbstractHttpClientWagon
return "Apache-Maven-Wagon/" + ver + " (Java " + System.getProperty( "java.version" ) + "; ";
}
+
+ private CredentialsProvider credentialsProvider;
+
+ private AuthCache authCache;
+
private HttpClientContext localContext;
private Closeable closeable;
@@ -371,7 +373,11 @@ public abstract class AbstractHttpClientWagon
{
repository.setUrl( getURL( repository ) );
- CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ localContext = HttpClientContext.create();
+ credentialsProvider = new BasicCredentialsProvider();
+ authCache = new BasicAuthCache();
+ localContext.setCredentialsProvider( credentialsProvider );
+ localContext.setAuthCache( authCache );
if ( authenticationInfo != null )
{
@@ -387,17 +393,6 @@ public abstract class AbstractHttpClientWagon
int port = getRepository().getPort() > -1 ? getRepository().getPort() : AuthScope.ANY_PORT;
credentialsProvider.setCredentials( new AuthScope( host, port ), creds );
- // preemptive off by default
- /*
- AuthCache authCache = new BasicAuthCache();
- BasicScheme basicAuth = new BasicScheme();
- HttpHost targetHost =
- new HttpHost( repository.getHost(), repository.getPort(), repository.getProtocol() );
- authCache.put( targetHost, basicAuth );
-
- localContext = new BasicHttpContext();
- localContext.setAttribute( ClientContext.AUTH_CACHE, authCache );
- */
}
}
@@ -430,9 +425,6 @@ public abstract class AbstractHttpClientWagon
}
}
}
-
- localContext = HttpClientContext.create();
- localContext.setCredentialsProvider( credentialsProvider );
}
public void closeConnection()
@@ -514,20 +506,22 @@ public abstract class AbstractHttpClientWagon
fireTransferError( resource, e, TransferEvent.REQUEST_GET );
}
- if ( authenticationInfo != null )
+ // preemptive for put
+ // TODO: is it a good idea, though? 'Expect-continue' handshake would serve much better
+
+ Repository repo = getRepository();
+ HttpHost targetHost = new HttpHost( repo.getHost(), repo.getPort(), repo.getProtocol() );
+ AuthScope targetScope = new AuthScope( targetHost );
+
+ if ( credentialsProvider.getCredentials( targetScope ) != null )
{
- String username = authenticationInfo.getUserName();
- String password = authenticationInfo.getPassword();
- // preemptive for put
- if ( StringUtils.isNotEmpty( username ) && StringUtils.isNotEmpty( password ) )
+ BasicScheme targetAuth = new BasicScheme();
+ try {
+ targetAuth.processChallenge(new BasicHeader(AUTH.WWW_AUTH, "BASIC preemptive"));
+ authCache.put( targetHost, targetAuth );
+ }
+ catch ( MalformedChallengeException ignore )
{
- AuthCache authCache = new BasicAuthCache();
- BasicScheme basicAuth = new BasicScheme();
- HttpHost targetHost =
- new HttpHost( repository.getHost(), repository.getPort(), repository.getProtocol() );
- authCache.put( targetHost, basicAuth );
-
- localContext.setAuthCache( authCache );
}
}
@@ -687,7 +681,8 @@ public abstract class AbstractHttpClientWagon
// WAGON-273: default the cookie-policy to browser compatible
requestConfigBuilder.setCookieSpec( CookieSpecs.BROWSER_COMPATIBILITY );
- ProxyInfo proxyInfo = getProxyInfo( getRepository().getProtocol(), getRepository().getHost() );
+ Repository repo = getRepository();
+ ProxyInfo proxyInfo = getProxyInfo( repo.getProtocol(), repo.getHost() );
if ( proxyInfo != null )
{
HttpHost proxy = new HttpHost( proxyInfo.getHost(), proxyInfo.getPort() );
@@ -700,25 +695,6 @@ public abstract class AbstractHttpClientWagon
if ( config != null )
{
ConfigurationUtils.copyConfig( config, requestConfigBuilder );
-
- if ( config.isUsePreemptive() && authenticationInfo != null )
- {
- String username = authenticationInfo.getUserName();
- String password = authenticationInfo.getPassword();
-
- if ( StringUtils.isNotEmpty( username ) && StringUtils.isNotEmpty( password ) )
- {
-
- AuthCache authCache = new BasicAuthCache();
- BasicScheme basicAuth = new BasicScheme();
- HttpHost targetHost =
- new HttpHost( repository.getHost(), repository.getPort(), repository.getProtocol() );
- authCache.put( targetHost, basicAuth );
-
- localContext.setAuthCache( authCache );
- }
-
- }
}
else
{
@@ -727,26 +703,49 @@ public abstract class AbstractHttpClientWagon
localContext.setRequestConfig( requestConfigBuilder.build() );
+ if ( config != null && config.isUsePreemptive() )
+ {
+ HttpHost targetHost = new HttpHost( repo.getHost(), repo.getPort(), repo.getProtocol() );
+ AuthScope targetScope = new AuthScope( targetHost );
+
+ if ( credentialsProvider.getCredentials( targetScope ) != null )
+ {
+ BasicScheme targetAuth = new BasicScheme();
+ targetAuth.processChallenge( new BasicHeader(AUTH.WWW_AUTH, "BASIC preemptive" ) );
+ authCache.put( targetHost, targetAuth );
+ }
+ }
+
if ( proxyInfo != null )
{
- if ( proxyInfo.getUserName() != null && proxyInfo.getPassword() != null )
+ if ( proxyInfo.getHost() != null )
{
- Credentials creds;
- if ( proxyInfo.getNtlmHost() != null || proxyInfo.getNtlmDomain() != null )
- {
- creds =
- new NTCredentials( proxyInfo.getUserName(), proxyInfo.getPassword(), proxyInfo.getNtlmHost(),
- proxyInfo.getNtlmDomain() );
- }
- else
+ HttpHost proxyHost = new HttpHost( proxyInfo.getHost(), proxyInfo.getPort() );
+ AuthScope proxyScope = new AuthScope( proxyHost );
+
+ String proxyUsername = proxyInfo.getUserName();
+ String proxyPassword = proxyInfo.getPassword();
+ String proxyNtlmHost = proxyInfo.getNtlmHost();
+ String proxyNtlmDomain = proxyInfo.getNtlmDomain();
+
+ if ( proxyUsername != null && proxyPassword != null )
{
- creds = new UsernamePasswordCredentials( proxyInfo.getUserName(), proxyInfo.getPassword() );
- }
+ Credentials creds;
+ if ( proxyNtlmHost != null || proxyNtlmDomain != null )
+ {
+ creds = new NTCredentials( proxyUsername, proxyPassword, proxyNtlmHost, proxyNtlmDomain );
+ }
+ else
+ {
+ creds = new UsernamePasswordCredentials( proxyUsername, proxyPassword );
+ }
- Header bs = new BasicScheme().authenticate( creds, httpMethod, localContext );
- httpMethod.addHeader( "Proxy-Authorization", bs.getValue() );
+ credentialsProvider.setCredentials( proxyScope, creds );
+ BasicScheme proxyAuth = new BasicScheme();
+ proxyAuth.processChallenge( new BasicHeader(AUTH.PROXY_AUTH, "BASIC preemptive" ) );
+ authCache.put( proxyHost, proxyAuth );
+ }
}
-
}
return CLIENT.execute( httpMethod, localContext );
[2/2] git commit: fix import
Posted by ol...@apache.org.
fix import
Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/6b374636
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/6b374636
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/6b374636
Branch: refs/heads/master
Commit: 6b3746366548eb0de79f6fe4008289f318c57c35
Parents: 5a56069
Author: Olivier Lamy <ol...@apache.org>
Authored: Fri Oct 25 14:01:44 2013 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Fri Oct 25 14:01:44 2013 +1100
----------------------------------------------------------------------
.../maven/wagon/providers/http/AbstractHttpClientWagon.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/6b374636/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
index 6e15554..eb195c8 100755
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagon.java
@@ -25,7 +25,12 @@ import org.apache.http.HttpException;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
-import org.apache.http.auth.*;
+import org.apache.http.auth.AUTH;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.Credentials;
+import org.apache.http.auth.MalformedChallengeException;
+import org.apache.http.auth.NTCredentials;
+import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.CookieSpecs;