Merge pull request 191 from suman-ganta for IDEA-123890
[idea/community.git] / plugins / git4idea / rt / src / org / jetbrains / git4idea / ssh / SSHMain.java
index 9ba9dd8532ca7179e37f7c9f99b5205a6cdc7f0a..b5bc260b95205032ebb61d238c54e188e0b806a5 100644 (file)
@@ -153,6 +153,21 @@ public class SSHMain implements GitExternalApp {
     Connection c = new Connection(myHost.getHostName(), myHost.getPort());
     try {
       configureKnownHosts(c);
+
+      boolean useHttpProxy = Boolean.valueOf(System.getenv(GitSSHHandler.SSH_USE_PROXY_ENV));
+      if (useHttpProxy) {
+        String proxyHost = System.getenv(GitSSHHandler.SSH_PROXY_HOST_ENV);
+        Integer proxyPort = Integer.valueOf(System.getenv(GitSSHHandler.SSH_PROXY_PORT_ENV));
+        boolean proxyAuthentication = Boolean.valueOf(System.getenv(GitSSHHandler.SSH_PROXY_AUTHENTICATION_ENV));
+        String proxyUser = null;
+        String proxyPassword = null;
+        if (proxyAuthentication) {
+          proxyUser = System.getenv(GitSSHHandler.SSH_PROXY_USER_ENV);
+          proxyPassword = System.getenv(GitSSHHandler.SSH_PROXY_PASSWORD_ENV);
+        }
+        c.setProxyData(new HTTPProxyData(proxyHost, proxyPort, proxyUser, proxyPassword));
+      }
+
       c.connect(new HostKeyVerifier());
       authenticate(c);
       final Session s = c.openSession();