[ http://jira.codehaus.org/browse/WAGON-82?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marc Wilhelm updated WAGON-82: ------------------------------ Attachment: wagon-webdav.patch Here is the small patch for the proxy problem which is based on "https://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0-beta-2/wagon-providers/wagon-webdav". I have added also a new feature to the webdav-provider to specify a firewall proxy for normal http-connections and for webdav-connections in *one* settings.xml config. The problem: ------------------ To activate a proxy server for the webdav provider you must enter or change the proxy settings in your settings.xml to something like the following: {noformat} <settings> <proxies> <proxy> <active /> <protocol>dav</protocol> <username>scott</username> <password>tiger</password> <port>8080</port> <host>my.http-proxy.url</host> <id /> </proxy> </proxies> </settings> {noformat} This will work with the (patched) version of webdav-wagon but lead into trouble with the normal http-proxy for artifact downloads. If you try to specify a proxy for each protocol "http" and "dav" like: {noformat} <proxies> <proxy> <active /> <protocol>http</protocol> <username>scott</username> <password>tiger</password> <port>8080</port> <host>my.http-proxy.url</host> <id /> </proxy> <proxy> <active /> <protocol>dav</protocol> <username>scott</username> <password>tiger</password> <port>8080</port> <host>my.http-proxy.url</host> <id /> </proxy> </proxies> {noformat} The proxy settings are ignored at all for the webdav provider, since only one proxy server could be declared as active (maybe this is a bug in 2.0.4). To solve this problem i have declared a new field "proxy" for the webdav-provider and used the "configuration" subtag from the "server" tag to specify the proxy were it is needed: {noformat} <settings> <proxies> <proxy> <active /> <protocol>http</protocol> <username>scott</username> <password>tiger</password> <port>8080</port> <host>my.http-proxy.url</host> <id /> </proxy> </proxies> <servers> <server> <id>my-upload-server</id> <username>foo</username> <password>bar</password> <configuration> <proxy> <userName>scott</userName> <password>tiger</password> <port>8080</port> <host>my.special-proxy.url</host> <type>dav</type> </proxy> </configuration> </server> ... </settings> {noformat} I tried to write a unit test for the proxy-server-connections and have introduced a small test setup which takes a normal http-proxy, but this hasn't worked well with the webdav protocol. So i have decided that it makes no sence to write a fix in 5 minutes and work more than one hour at the test cases. As result this patch only provides the solution without any test cases :( But since the fix contains only a handful lines of code i hope it could be verified easy be reading it. Cheers, Marc > wagon-webdav does not set http-proxy correctly > ---------------------------------------------- > > Key: WAGON-82 > URL: http://jira.codehaus.org/browse/WAGON-82 > Project: wagon > Issue Type: Bug > Components: wagon-webdav > Affects Versions: 1.0-beta-2 > Environment: any system > Reporter: Marc Wilhelm > Priority: Blocker > Attachments: wagon-webdav.patch > > > Webdav connections through a http-proxy are currently not possible. > The webdav provider opens first a connection to the target system and checks > after this, if a proxy should be used. > To fix this in the method > "org.apache.maven.wagon.providers.webdav.WebdavWagon#openConnection()" the > call "webdavResource = new CorrectedWebdavResource( httpURL );" must be > changed into "webdavResource = new CorrectedWebdavResource( );" and after > configuring the http-proxy the method call > "webdavResource.setHttpURL(httpURL);" must be added. -- 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