download with http 403 status code assumed by maven to be OK, then checksum
failed error
----------------------------------------------------------------------------------------
Key: MNG-3510
URL: http://jira.codehaus.org/browse/MNG-3510
Project: Maven 2
Issue Type: Bug
Affects Versions: 2.0.6
Environment: Win xp pro., JDK6, mvn 2.0.6, netbeans 6, mevenide
plugin in netbeans.
Reporter: Bruce Chapman
Priority: Minor
Our firewall/cache is blocking access to
http://repo1.maven.org/maven2/javax/mail/mail/1.4/mail-1.4.jar becuase it
thinks it has a virus (that's the not the problem)
{{$ wget http://repo1.maven.org/maven2/javax/mail/mail
--14:13:46-- http://repo1.maven.org/maven2/javax/mail/mail
=> `mail'
Resolving cache... done.
Connecting to cache[172.30.41.11]:8080... connected.
Proxy request sent, awaiting response... 403 Forbidden
14:13:47 ERROR 403: Forbidden.}}
but the firewall also returns content for the browser
{{
<html><head><META HTTP-EQUIV="Expires" CONTENT="-1"><META HTTP-EQUIV="Pragma"
CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>SonicWALL -
Blocked by Application Firewall</title></head><body bgcolor=#011B4A
text=#FFFFFF><br><br><br><br><br><table align=center cellpadding=5 border=2
width=500 bgcolor=#9CBACE><tr><td align=center><table align=center
cellpadding=5 width=450><tr><td align=center><br><br><font face=arial
color=000000 size=4><b>This request is blocked by the SonicWALL Gateway
Anti-Virus Service. Name: WMF.Gen-2
(Exploit)</b></font></td></tr></table></td></tr></table></body></html>
}}
The problem is that maven is ignoring the status code, goes ahead and downloads
the file then decides that the checksum for the content does not match what is
expected. This is misleading and makes it more difficult to diagnose the cause
of the failed download.
Here is what maven does
{{
----------------------------------------------------------------------------
Building Hudson core
task-segment: [install]
----------------------------------------------------------------------------
Maven Version: 2.0.6
JDK Version: 1.6.0_05 normalized as: 1.6.0-5
OS Info: Arch: x86 Family: windows Name: windows xp Version: 5.1
Downloading: http://repo1.maven.org/maven2/javax/mail/mail/1.4/mail-1.4.pom
993/993b
993b downloaded
Downloading: http://repo1.maven.org/maven2/javax/mail/mail/1.4/mail-1.4.jar
696/?
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local =
'e0bb0f663e436cde3a6e1e5b8e8e80be43bde8a3'; remote =
'1aa1579ae5ecd41920c4f355b0a9ef40b68315dd' - RETRYING
Downloading: http://repo1.maven.org/maven2/javax/mail/mail/1.4/mail-1.4.jar
696/?
}}
Maven should only go on and download the file and compare checksums if the http
status is valid eg 200, in the case of a failing http status code, it would be
much more useful if maven failed earlier with the status code and text as the
error message.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira