Author: aheritier
Date: Sat Jan 14 17:31:04 2006
New Revision: 369155
URL: http://svn.apache.org/viewcvs?rev=369155&view=rev
Log:
PR: MPLINKCHECK-19
Using NTLM proxy
Modified:
maven/maven-1/plugins/trunk/linkcheck/project.properties
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java
maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java
maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml
Modified: maven/maven-1/plugins/trunk/linkcheck/project.properties
URL:
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/project.properties?rev=369155&r1=369154&r2=369155&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/linkcheck/project.properties (original)
+++ maven/maven-1/plugins/trunk/linkcheck/project.properties Sat Jan 14
17:31:04 2006
@@ -24,6 +24,8 @@
maven.proxy.port \
maven.proxy.username \
maven.proxy.password \
+ maven.proxy.ntlm.host \
+ maven.proxy.ntlm.domain \
maven.mode.online
maven.jar.override = on
Modified:
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java
URL:
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java?rev=369155&r1=369154&r2=369155&view=diff
==============================================================================
---
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java
(original)
+++
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java
Sat Jan 14 17:31:04 2006
@@ -58,6 +58,10 @@
private static final long MEG = 1024 * 1024;
+ private static final String MAVEN_PROXY_NTLM_HOST =
"maven.proxy.ntlm.host";
+
+ private static final String MAVEN_PROXY_NTLM_DOMAIN =
"maven.proxy.ntlm.domain";
+
private File basedir;
private String cache;
@@ -169,7 +173,9 @@
if ( ctx.getOnline().booleanValue() )
{
lvm.addLinkValidator( new OnlineHTTPLinkValidator(
ctx.getProxyHost(), ctx.getProxyPort(), ctx
- .getProxyUserName(), ctx.getProxyPassword() ) );
+ .getProxyUserName(), ctx.getProxyPassword(), (String)
ctx.getVariable( MAVEN_PROXY_NTLM_HOST ),
+
(String) ctx
+
.getVariable( MAVEN_PROXY_NTLM_DOMAIN ) ) );
}
else
{
Modified:
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java
URL:
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java?rev=369155&r1=369154&r2=369155&view=diff
==============================================================================
---
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java
(original)
+++
maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java
Sat Jan 14 17:31:04 2006
@@ -6,6 +6,7 @@
import java.io.IOException;
import java.net.URL;
+import org.apache.commons.httpclient.Credentials;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpClient;
@@ -13,6 +14,7 @@
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.httpclient.NTCredentials;
import org.apache.commons.httpclient.StatusLine;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.methods.HeadMethod;
@@ -41,9 +43,14 @@
private String proxyPass;
+ private String proxyNtlmHost;
+
+ private String proxyNtlmDomain;
+
private transient HttpClient cl;
- public OnlineHTTPLinkValidator( String proxyHost, String proxyPort, String
proxyUser, String proxyPass )
+ public OnlineHTTPLinkValidator( String proxyHost, String proxyPort, String
proxyUser, String proxyPass,
+ String proxyNtlmHost, String
proxyNtlmDomain )
{
if ( proxyHost == null || proxyHost.trim().equals( "" ) )
{
@@ -67,6 +74,11 @@
}
this.proxyUser = proxyUser;
this.proxyPass = proxyPass;
+ if ( proxyNtlmHost != null && proxyNtlmHost.trim().equals( "" ) )
+ {
+ this.proxyNtlmHost = proxyNtlmHost;
+ this.proxyNtlmDomain = proxyNtlmDomain;
+ }
}
initHttpClient();
}
@@ -159,8 +171,17 @@
{
if ( LOG.isDebugEnabled() )
LOG.debug( "Proxy User:" + proxyUser );
- state
- .setProxyCredentials( null, null, new
UsernamePasswordCredentials( this.proxyUser, this.proxyPass ) );
+ Credentials credentials;
+ if ( this.proxyNtlmHost != null )
+ {
+ credentials = new NTCredentials( this.proxyUser,
this.proxyPass, this.proxyNtlmHost,
+ this.proxyNtlmDomain );
+ }
+ else
+ {
+ credentials = new UsernamePasswordCredentials(
this.proxyUser, this.proxyPass );
+ }
+ state.setProxyCredentials( null, null, credentials );
}
}
Modified:
maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java
URL:
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java?rev=369155&r1=369154&r2=369155&view=diff
==============================================================================
---
maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java
(original)
+++
maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java
Sat Jan 14 17:31:04 2006
@@ -41,7 +41,8 @@
{
hlv = new OnlineHTTPLinkValidator( System.getProperty(
"maven.proxy.host" ), System
.getProperty( "maven.proxy.port" ), System.getProperty(
"maven.proxy.username" ), System
- .getProperty( "maven.proxy.password" ) );
+ .getProperty( "maven.proxy.password" ), System.getProperty(
"maven.proxy.ntlm.host" ), System
+ .getProperty( "maven.proxy.ntlm.domain" ) );
assertEquals( LinkValidationResult.VALID, checkLink(
"http://www.apache.org" ).getStatus() );
assertEquals( LinkValidationResult.ERROR, checkLink(
"http://www.example.com>);" ).getStatus() );
Modified: maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml
URL:
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml?rev=369155&r1=369154&r2=369155&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml (original)
+++ maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml Sat Jan 14 17:31:04
2006
@@ -34,6 +34,7 @@
<action dev="aheritier" type="fix" issue="MPLINKCHECK-22">Sites
requiring authentication are reported as NOT FOUND.</action>
<action dev="aheritier" type="fix"
issue="MPLINKCHECK-21">java.lang.NumberFormatException if proxy port is setted
to ""</action>
<action dev="aheritier" type="fix" issue="MPLINKCHECK-20"
due-to="Ignacio G. Mac Dowell">StackOverflowError processing
apidocs/index-all.html.</action>
+ <action dev="aheritier" type="add" issue="MPLINKCHECK-19">Support NTLM
proxies.</action>
<action dev="aheritier" type="update" issue="MPLINKCHECK-10">"Moved
Permanently" sites are reported as a warning and not as an error.</action>
<action dev="aheritier" type="add">If maven is in offline mode the
report doesn't test external urls. A warning is displayed in the
report.</action>
<action dev="brett" type="update">Make compatible with Maven 1.1</action>