You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bo...@apache.org on 2004/12/21 15:08:21 UTC
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional/net SetProxy.java
bodewig 2004/12/21 06:08:20
Modified: . WHATSNEW
src/main/org/apache/tools/ant/taskdefs/optional/net
SetProxy.java
Log:
<setproxy> fails to provide password authentication on some JDKs.
The patch provided in the bug report looked very similar to something
I once had to do in production code, when Ant's original code wasn't
enough. I forgot about it when we switched to commons-httpclient
shortly thereafter.
PR: 32667
Revision Changes Path
1.702 +3 -0 ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/ant/WHATSNEW,v
retrieving revision 1.701
retrieving revision 1.702
diff -u -r1.701 -r1.702
--- WHATSNEW 21 Dec 2004 13:38:06 -0000 1.701
+++ WHATSNEW 21 Dec 2004 14:08:20 -0000 1.702
@@ -218,6 +218,9 @@
* <scp> using <fileset> didn't work with OpenSSH 3.9 and later.
Bugzilla report 31939
+* <setproxy> failed to set user/password on some JDKs.
+ Bugzilla report 32667
+
Changes from Ant 1.6.1 to Ant 1.6.2
===================================
1.24 +25 -0 ant/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java
Index: SetProxy.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/net/SetProxy.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- SetProxy.java 22 Apr 2004 14:48:31 -0000 1.23
+++ SetProxy.java 21 Dec 2004 14:08:20 -0000 1.24
@@ -18,6 +18,8 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
import java.util.Properties;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -229,6 +231,15 @@
sysprops.remove("java.net.socks.password");
}
}
+
+ if (proxyUser != null) {
+ if (enablingProxy) {
+ Authenticator.setDefault(new ProxyAuth(proxyUser,
+ proxyPassword));
+ } else if (settingsChanged) {
+ Authenticator.setDefault(new ProxyAuth("", ""));
+ }
+ }
}
/**
@@ -250,5 +261,19 @@
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;
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org