You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2005/05/13 02:24:22 UTC

svn commit: r169914 - /maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java

Author: brett
Date: Thu May 12 17:24:22 2005
New Revision: 169914

URL: http://svn.apache.org/viewcvs?rev=169914&view=rev
Log:
PR: WAGONHTTP-2
Submitted by: Mark Hobson
Reviewed by:  Brett Porter
correctly set the authenticator for hosts using basic authentication

Modified:
    maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java

Modified: maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java?rev=169914&r1=169913&r2=169914&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java Thu May 12 17:24:22 2005
@@ -108,11 +108,19 @@
             {
                 System.setProperty( "http.nonProxyHosts", proxyInfo.getNonProxyHosts() );
             }
-            if ( proxyInfo.getUserName() != null )
+        }
+
+        final boolean hasProxy = ( proxyInfo != null && proxyInfo.getUserName() != null );
+        final boolean hasAuthentication = ( authenticationInfo != null && authenticationInfo.getUserName() != null );
+        if ( hasProxy || hasAuthentication )
+        {
+            Authenticator.setDefault( new Authenticator()
             {
-                Authenticator.setDefault( new Authenticator()
+                protected PasswordAuthentication getPasswordAuthentication()
                 {
-                    protected PasswordAuthentication getPasswordAuthentication()
+                    // TODO: ideally use getRequestorType() from JDK1.5 here...
+                    if ( hasProxy && getRequestingHost().equals( proxyInfo.getHost() ) &&
+                        getRequestingPort() == proxyInfo.getPort() )
                     {
                         String password = "";
                         if ( proxyInfo.getPassword() != null )
@@ -121,8 +129,20 @@
                         }
                         return new PasswordAuthentication( proxyInfo.getUserName(), password.toCharArray() );
                     }
-                } );
-            }
+
+                    if ( hasAuthentication )
+                    {
+                        String password = "";
+                        if ( authenticationInfo.getPassword() != null )
+                        {
+                            password = authenticationInfo.getPassword();
+                        }
+                        return new PasswordAuthentication( authenticationInfo.getUserName(), password.toCharArray() );
+                    }
+
+                    return super.getPasswordAuthentication();
+                }
+            } );
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-cvs-help@maven.apache.org