diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java | 283 |
1 files changed, 0 insertions, 283 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java deleted file mode 100644 index 1e1f6591..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.tools.ant.taskdefs.optional.net; - -import java.net.Authenticator; -import java.net.PasswordAuthentication; -import java.util.Properties; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.util.ProxySetup; - -/** - * Sets Java's web proxy properties, so that tasks and code run in - * the same JVM can have through-the-firewall access to remote web sites, - * and remote ftp sites. - * You can nominate an http and ftp proxy, or a socks server, reset the server - * settings, or do nothing at all. - * <p> - * Examples - * <pre><setproxy/></pre> - * do nothing - * <pre><setproxy proxyhost="firewall"/></pre> - * set the proxy to firewall:80 - * <pre><setproxy proxyhost="firewall" proxyport="81"/></pre> - * set the proxy to firewall:81 - * <pre><setproxy proxyhost=""/></pre> - * stop using the http proxy; don't change the socks settings - * <pre><setproxy socksproxyhost="socksy"/></pre> - * use socks via socksy:1080 - * <pre><setproxy socksproxyhost=""/></pre> - * stop using the socks server. - * <p> - * You can set a username and password for http with the <tt>proxyHost</tt> - * and <tt>proxyPassword</tt> attributes. These can also be - * used against SOCKS5 servers. - * </p> - * @see <a href="http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html"> - * java 1.5 network property list</a> - *@since Ant 1.5 - * @ant.task category="network" - */ -public class SetProxy extends Task { - private static final int HTTP_PORT = 80; - private static final int SOCKS_PORT = 1080; - // CheckStyle:VisibilityModifier OFF - bc - /** - * proxy details - */ - protected String proxyHost = null; - - /** - * name of proxy port - */ - protected int proxyPort = HTTP_PORT; - - // CheckStyle:VisibilityModifier ON - - /** - * socks host. - */ - private String socksProxyHost = null; - - /** - * Socks proxy port. Default is 1080. - */ - private int socksProxyPort = SOCKS_PORT; - - - /** - * list of non proxy hosts - */ - private String nonProxyHosts = null; - - /** - * user for http only - */ - private String proxyUser = null; - - /** - * password for http only - */ - private String proxyPassword = null; - - /** - * the HTTP/ftp proxy host. Set this to "" for the http proxy - * option to be disabled - * - * @param hostname the new proxy hostname - */ - public void setProxyHost(String hostname) { - proxyHost = hostname; - } - - - /** - * the HTTP/ftp proxy port number; default is 80 - * - * @param port port number of the proxy - */ - public void setProxyPort(int port) { - proxyPort = port; - } - - /** - * The name of a Socks server. Set to "" to turn socks - * proxying off. - * - * @param host The new SocksProxyHost value - */ - public void setSocksProxyHost(String host) { - this.socksProxyHost = host; - } - - - /** - * Set the ProxyPort for socks connections. The default value is 1080 - * - * @param port The new SocksProxyPort value - */ - public void setSocksProxyPort(int port) { - this.socksProxyPort = port; - } - - - /** - * A list of hosts to bypass the proxy on. These should be separated - * with the vertical bar character '|'. Only in Java 1.4 does ftp use - * this list. - * e.g. fozbot.corp.sun.com|*.eng.sun.com - * @param nonProxyHosts lists of hosts to talk direct to - */ - public void setNonProxyHosts(String nonProxyHosts) { - this.nonProxyHosts = nonProxyHosts; - } - - /** - * set the proxy user. Probably requires a password to accompany this - * setting. Default="" - * @param proxyUser username - * @since Ant1.6 - */ - public void setProxyUser(String proxyUser) { - this.proxyUser = proxyUser; - } - - /** - * Set the password for the proxy. Used only if the proxyUser is set. - * @param proxyPassword password to go with the username - * @since Ant1.6 - */ - public void setProxyPassword(String proxyPassword) { - this.proxyPassword = proxyPassword; - } - - /** - * if the proxy port and host settings are not null, then the settings - * get applied these settings last beyond the life of the object and - * apply to all network connections - * Relevant docs: buglist #4183340 - */ - - public void applyWebProxySettings() { - boolean settingsChanged = false; - boolean enablingProxy = false; - Properties sysprops = System.getProperties(); - if (proxyHost != null) { - settingsChanged = true; - if (proxyHost.length() != 0) { - traceSettingInfo(); - enablingProxy = true; - sysprops.put(ProxySetup.HTTP_PROXY_HOST, proxyHost); - String portString = Integer.toString(proxyPort); - sysprops.put(ProxySetup.HTTP_PROXY_PORT, portString); - sysprops.put(ProxySetup.HTTPS_PROXY_HOST, proxyHost); - sysprops.put(ProxySetup.HTTPS_PROXY_PORT, portString); - sysprops.put(ProxySetup.FTP_PROXY_HOST, proxyHost); - sysprops.put(ProxySetup.FTP_PROXY_PORT, portString); - if (nonProxyHosts != null) { - sysprops.put(ProxySetup.HTTP_NON_PROXY_HOSTS, nonProxyHosts); - sysprops.put(ProxySetup.HTTPS_NON_PROXY_HOSTS, nonProxyHosts); - sysprops.put(ProxySetup.FTP_NON_PROXY_HOSTS, nonProxyHosts); - } - if (proxyUser != null) { - sysprops.put(ProxySetup.HTTP_PROXY_USERNAME, proxyUser); - sysprops.put(ProxySetup.HTTP_PROXY_PASSWORD, proxyPassword); - } - } else { - log("resetting http proxy", Project.MSG_VERBOSE); - sysprops.remove(ProxySetup.HTTP_PROXY_HOST); - sysprops.remove(ProxySetup.HTTP_PROXY_PORT); - sysprops.remove(ProxySetup.HTTP_PROXY_USERNAME); - sysprops.remove(ProxySetup.HTTP_PROXY_PASSWORD); - sysprops.remove(ProxySetup.HTTPS_PROXY_HOST); - sysprops.remove(ProxySetup.HTTPS_PROXY_PORT); - sysprops.remove(ProxySetup.FTP_PROXY_HOST); - sysprops.remove(ProxySetup.FTP_PROXY_PORT); - } - } - - //socks - if (socksProxyHost != null) { - settingsChanged = true; - if (socksProxyHost.length() != 0) { - enablingProxy = true; - sysprops.put(ProxySetup.SOCKS_PROXY_HOST, socksProxyHost); - sysprops.put(ProxySetup.SOCKS_PROXY_PORT, Integer.toString(socksProxyPort)); - if (proxyUser != null) { - //this may be a java1.4 thingy only - sysprops.put(ProxySetup.SOCKS_PROXY_USERNAME, proxyUser); - sysprops.put(ProxySetup.SOCKS_PROXY_PASSWORD, proxyPassword); - } - - } else { - log("resetting socks proxy", Project.MSG_VERBOSE); - sysprops.remove(ProxySetup.SOCKS_PROXY_HOST); - sysprops.remove(ProxySetup.SOCKS_PROXY_PORT); - sysprops.remove(ProxySetup.SOCKS_PROXY_USERNAME); - sysprops.remove(ProxySetup.SOCKS_PROXY_PASSWORD); - } - } - - if (proxyUser != null) { - if (enablingProxy) { - Authenticator.setDefault(new ProxyAuth(proxyUser, - proxyPassword)); - } else if (settingsChanged) { - Authenticator.setDefault(new ProxyAuth("", "")); - } - } - } - - /** - * list out what is going on - */ - private void traceSettingInfo() { - log("Setting proxy to " - + (proxyHost != null ? proxyHost : "''") - + ":" + proxyPort, - Project.MSG_VERBOSE); - } - - /** - * Does the work. - * - * @exception BuildException thrown in unrecoverable error. - */ - public void execute() throws BuildException { - applyWebProxySettings(); - } - - /** - * @since 1.6.3 - */ - private static final class ProxyAuth extends Authenticator { - private PasswordAuthentication auth; - - private ProxyAuth(String user, String pass) { - auth = new PasswordAuthentication(user, pass.toCharArray()); - } - - protected PasswordAuthentication getPasswordAuthentication() { - return auth; - } - } -} - |