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 <[email protected]> Authored: Thu Jun 29 21:21:14 2017 +0200 Committer: Michael Osipov <[email protected]> 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() );
