You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2017/06/29 19:21:52 UTC

maven-wagon git commit: [WAGON-487] Saved password with french accent breaks deployment

Repository: maven-wagon
Updated Branches:
  refs/heads/WAGON-487 [created] 8d9a3d0a4


[WAGON-487] Saved password with french accent breaks deployment


Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/8d9a3d0a
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/8d9a3d0a
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/8d9a3d0a

Branch: refs/heads/WAGON-487
Commit: 8d9a3d0a4f243c3af7df64abc9260be297081dd4
Parents: 1247688
Author: Michael Osipov <mi...@apache.org>
Authored: Thu Jun 29 21:21:14 2017 +0200
Committer: Michael Osipov <mi...@apache.org>
Committed: Thu Jun 29 21:21:14 2017 +0200

----------------------------------------------------------------------
 .../wagon/providers/http/AbstractHttpClientWagon.java  | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/8d9a3d0a/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 405f55e..f15e363 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,6 +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.AuthSchemeProvider;
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.ChallengeState;
 import org.apache.http.auth.Credentials;
@@ -32,6 +33,7 @@ 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.AuthSchemes;
 import org.apache.http.client.config.CookieSpecs;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.methods.CloseableHttpResponse;
@@ -41,6 +43,7 @@ import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.methods.HttpUriRequest;
 import org.apache.http.client.protocol.HttpClientContext;
 import org.apache.http.client.utils.DateUtils;
+import org.apache.http.config.Lookup;
 import org.apache.http.config.Registry;
 import org.apache.http.config.RegistryBuilder;
 import org.apache.http.conn.HttpClientConnectionManager;
@@ -51,6 +54,8 @@ import org.apache.http.conn.ssl.SSLContextBuilder;
 import org.apache.http.conn.ssl.SSLInitializationException;
 import org.apache.http.entity.AbstractHttpEntity;
 import org.apache.http.impl.auth.BasicScheme;
+import org.apache.http.impl.auth.BasicSchemeFactory;
+import org.apache.http.impl.auth.DigestSchemeFactory;
 import org.apache.http.impl.client.BasicAuthCache;
 import org.apache.http.impl.client.BasicCredentialsProvider;
 import org.apache.http.impl.client.CloseableHttpClient;
@@ -85,6 +90,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
@@ -800,6 +806,13 @@ public abstract class AbstractHttpClientWagon
         localContext.setAuthCache( authCache );
         localContext.setRequestConfig( requestConfigBuilder.build() );
 
+        Lookup<AuthSchemeProvider> authSchemeProviders = RegistryBuilder.<AuthSchemeProvider>create()
+                .register( AuthSchemes.BASIC, new BasicSchemeFactory( Charset.forName( "UTF-8" ) ) )
+                .register( AuthSchemes.DIGEST, new DigestSchemeFactory( Charset.forName( "UTF-8" ) ) )
+                .build();
+
+        localContext.setAuthSchemeRegistry( authSchemeProviders );
+
         if ( config != null && config.isUsePreemptive() )
         {
             HttpHost targetHost = new HttpHost( repo.getHost(), repo.getPort(), repo.getProtocol() );