From ade02c31c55da85a6a36fb2a41145bcb445e9709 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 4 Jun 2012 14:06:30 +0200 Subject: [PATCH] disable ssl validation for mercurial hook detection --- .../sonia/scm/repository/HgHookManager.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java index 818bcf5a20..795e01c22b 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java @@ -36,6 +36,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- import com.google.inject.Inject; +import com.google.inject.Provider; import com.google.inject.Singleton; import org.slf4j.Logger; @@ -43,6 +44,9 @@ import org.slf4j.LoggerFactory; import sonia.scm.ConfigChangedListener; import sonia.scm.config.ScmConfiguration; +import sonia.scm.net.HttpClient; +import sonia.scm.net.HttpRequest; +import sonia.scm.net.HttpResponse; import sonia.scm.util.HttpUtil; import sonia.scm.util.Util; @@ -81,12 +85,15 @@ public class HgHookManager implements ConfigChangedListener * * * @param configuration + * @param httpClientProvider */ @Inject - public HgHookManager(ScmConfiguration configuration) + public HgHookManager(ScmConfiguration configuration, + Provider httpClientProvider) { this.configuration = configuration; this.configuration.addListener(this); + this.httpClientProvider = httpClientProvider; } //~--- methods -------------------------------------------------------------- @@ -292,10 +299,15 @@ public class HgHookManager implements ConfigChangedListener logger.trace("check hook url {}", url); } - HttpURLConnection connection = - (HttpURLConnection) new URL(url).openConnection(); + HttpRequest request = new HttpRequest(url); - result = connection.getResponseCode() == 204; + request.setDisableCertificateValidation(true); + request.setDisableHostnameValidation(true); + request.setIgnoreProxySettings(true); + + HttpResponse response = httpClientProvider.get().get(request); + + result = response.getStatusCode() == 204; } catch (IOException ex) { @@ -318,4 +330,7 @@ public class HgHookManager implements ConfigChangedListener /** Field description */ private volatile String hookUrl; + + /** Field description */ + private Provider httpClientProvider; }