diff options
author | relves | 2006-10-25 21:46:56 +0000 |
---|---|---|
committer | relves | 2006-10-25 21:46:56 +0000 |
commit | 5aebb63e28e6684ba10ee6fa062b50e4f26bc1f0 (patch) | |
tree | 14fba7172d08852758f9958d7082a2afed214b3c | |
parent | d8bcf3a1b259201cd91ce00a8d6bac3cfc1b602d (diff) | |
download | org.eclipse.mylyn.tasks-5aebb63e28e6684ba10ee6fa062b50e4f26bc1f0.tar.gz org.eclipse.mylyn.tasks-5aebb63e28e6684ba10ee6fa062b50e4f26bc1f0.tar.xz org.eclipse.mylyn.tasks-5aebb63e28e6684ba10ee6fa062b50e4f26bc1f0.zip |
NEW - bug 162130: Authentication failed for generic web-based repository
https://bugs.eclipse.org/bugs/show_bug.cgi?id=162130
4 files changed, 11 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java index 64ebca24a..aa77ae2e5 100644 --- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java +++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java @@ -132,7 +132,7 @@ public class BugzillaAttachmentHandler implements IAttachmentHandler { // Protocol.registerProtocol("https", new Protocol("https", new // TrustAllSslProtocolSocketFactory(), 443)); HttpClient client = new HttpClient(); - WebClientUtil.setupHttpClient(client, proxySettings, repositoryUrl); + WebClientUtil.setupHttpClient(client, proxySettings, repositoryUrl, userName, password); PostMethod postMethod = new PostMethod(WebClientUtil.getRequestPath(repositoryUrl) + POST_ARGS_ATTACHMENT_UPLOAD); diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebClientUtil.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebClientUtil.java index 05d9f8fa3..619e5d79c 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebClientUtil.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebClientUtil.java @@ -26,6 +26,8 @@ import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.UsernamePasswordCredentials; +import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.protocol.Protocol; /** @@ -167,11 +169,16 @@ public class WebClientUtil { return repositoryUrl.substring(requestPath); } - public static void setupHttpClient(HttpClient client, Proxy proxySettings, String repositoryUrl) { + public static void setupHttpClient(HttpClient client, Proxy proxySettings, String repositoryUrl, String user, String password) { if (proxySettings != null && proxySettings.address() instanceof InetSocketAddress) { InetSocketAddress address = (InetSocketAddress) proxySettings.address(); client.getHostConfiguration().setProxy(address.getHostName(), address.getPort()); } + + if(user!=null && password!=null) { + AuthScope authScope = new AuthScope(WebClientUtil.getDomain(repositoryUrl), WebClientUtil.getPort(repositoryUrl), AuthScope.ANY_REALM); + client.getState().setCredentials(authScope, new UsernamePasswordCredentials(user, password)); + } if (WebClientUtil.repositoryUsesHttps(repositoryUrl)) { Protocol acceptAllSsl = new Protocol("https", new SslProtocolSocketFactory(), WebClientUtil diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/Trac09Client.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/Trac09Client.java index bb4e2997d..eba14b5c6 100644 --- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/Trac09Client.java +++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/Trac09Client.java @@ -82,7 +82,7 @@ public class Trac09Client extends AbstractTracClient { } private GetMethod connectInternal(String serverURL) throws TracLoginException, IOException, TracHttpException { - WebClientUtil.setupHttpClient(httpClient, proxy, serverURL); + WebClientUtil.setupHttpClient(httpClient, proxy, serverURL, null, null); for (int attempt = 0; attempt < 2; attempt++) { // force authentication diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java index bc94ce5d8..572760b0c 100644 --- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java +++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java @@ -119,7 +119,7 @@ public class TracHttpClientTransportFactory extends XmlRpcTransportFactoryImpl { XmlRpcHttpClientConfig config = (XmlRpcHttpClientConfig) pRequest.getConfig(); String url = config.getServerURL().toString(); - WebClientUtil.setupHttpClient(getHttpClient(), proxy, url); + WebClientUtil.setupHttpClient(getHttpClient(), proxy, url, null, null); PostMethod method = new PostMethod(WebClientUtil.getRequestPath(url)); |