DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27185>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27185 Possible problem with the COPY request handling Summary: Possible problem with the COPY request handling Product: Tomcat 5 Version: 5.0.18 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Servlets:WebDAV AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hi, there may be a problem with the COPY request handling in the WebDAV servlet of Tomcat. Environment: I created the webdav application with the following web.xml file in webapps/webdav/WEB-INF: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>webdav</servlet-name> <servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>10</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <!-- Uncomment this to enable read and write access --> <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> <!--load-on-startup>1</load-on-startup--> </servlet> <servlet-mapping> <servlet-name>webdav</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> The directory webapps/webdav/ is writable by the Tomcat jvm. I created the collection col and uploaded the file file.txt with cadaver (which worked fine). So this is our starting point: dav:/webdav/> ls Listing collection `/webdav/': succeeded. Coll: col 0 Jan 1 1970 file.txt 625 Feb 24 12:21 1. If the source resource is a file and the destination resource is an existing collection the collection gets deleted and replaced by the file. For example the following request COPY /webdav/file.txt HTTP/1.1 Host: 127.0.0.1:8080 Connection: TE TE: trailers Depth: infinity Destination: http://127.0.0.1:8080/webdav/col/ Overwrite: T deletes the collection col and replaces it with a file that is named col and has the contents of file.txt. 2. If the source resource is collection and the destination resource is a existing file the file gets deleted and replaced by the collection. For example the following request COPY /webdav/col/ HTTP/1.1 Host: 127.0.0.1:8080 Connection: TE TE: trailers Depth: infinity Destination: http://127.0.0.1:8080/webdav/file.txt Overwrite: T deletes the file file.txt and replaces it with a collection that is named file.txt and has the contents of col. >From reading RFC 2518 I am not quite sure if this may be an intended behaviour, but I noticed it as it is quite different from the behaviour of a UNIX cp command and thus may lead to unnecessary loss of data. If it works as designed just let me know. Then I need to be more careful in the future when handling with webdav :-). Regards Rüdiger Plüm --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]