ASF Bugzilla – Attachment 25584 Details for
Bug 49428
Fix WebDAV mounts from Windows Mini-Redirector clients
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
The patch for WebdavServlet
WebdavServlet.patch (text/plain), 20.03 KB, created by
Panagiotis Astithas
on 2010-06-11 07:34:22 UTC
(
hide
)
Description:
The patch for WebdavServlet
Filename:
MIME Type:
Creator:
Panagiotis Astithas
Created:
2010-06-11 07:34:22 UTC
Size:
20.03 KB
patch
obsolete
>Index: java/org/apache/catalina/servlets/WebdavServlet.java >=================================================================== >--- java/org/apache/catalina/servlets/WebdavServlet.java (revision 953611) >+++ java/org/apache/catalina/servlets/WebdavServlet.java (working copy) >@@ -563,13 +563,13 @@ > new XMLWriter(resp.getWriter()); > generatedXML.writeXMLHeader(); > generatedXML.writeElement >- (null, "multistatus" >+ (null, "D:multistatus" > + generateNamespaceDeclarations(), > XMLWriter.OPENING); > parseLockNullProperties > (req, generatedXML, lockNullPath, type, > properties); >- generatedXML.writeElement(null, "multistatus", >+ generatedXML.writeElement(null, "D:multistatus", > XMLWriter.CLOSING); > generatedXML.sendData(); > return; >@@ -592,7 +592,7 @@ > XMLWriter generatedXML = new XMLWriter(resp.getWriter()); > generatedXML.writeXMLHeader(); > >- generatedXML.writeElement(null, "multistatus" >+ generatedXML.writeElement(null, "D:multistatus" > + generateNamespaceDeclarations(), > XMLWriter.OPENING); > >@@ -672,7 +672,7 @@ > } > } > >- generatedXML.writeElement(null, "multistatus", >+ generatedXML.writeElement(null, "D:multistatus", > XMLWriter.CLOSING); > > generatedXML.sendData(); >@@ -1157,7 +1157,7 @@ > generatedXML.writeXMLHeader(); > > generatedXML.writeElement >- (null, "multistatus" + generateNamespaceDeclarations(), >+ (null, "D:multistatus" + generateNamespaceDeclarations(), > XMLWriter.OPENING); > > while (lockPathsList.hasMoreElements()) { >@@ -1432,7 +1432,7 @@ > * Generate the namespace declarations. > */ > private String generateNamespaceDeclarations() { >- return " xmlns=\"" + DEFAULT_NAMESPACE + "\""; >+ return " xmlns:D=\"" + DEFAULT_NAMESPACE + "\""; > } > > >@@ -2046,13 +2046,13 @@ > return; > } > >- generatedXML.writeElement(null, "response", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:response", XMLWriter.OPENING); > String status = new String("HTTP/1.1 " + WebdavStatus.SC_OK + " " > + WebdavStatus.getStatusText > (WebdavStatus.SC_OK)); > > // Generating href element >- generatedXML.writeElement(null, "href", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:href", XMLWriter.OPENING); > > String href = req.getContextPath() + req.getServletPath(); > if ((href.endsWith("/")) && (path.startsWith("/"))) >@@ -2064,7 +2064,7 @@ > > generatedXML.writeText(rewriteUrl(href)); > >- generatedXML.writeElement(null, "href", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:href", XMLWriter.CLOSING); > > String resourceName = path; > int lastSlash = path.lastIndexOf('/'); >@@ -2075,98 +2075,98 @@ > > case FIND_ALL_PROP : > >- generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); >- generatedXML.writeElement(null, "prop", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); > > generatedXML.writeProperty >- (null, "creationdate", >+ (null, "D:creationdate", > getISOCreationDate(cacheEntry.attributes.getCreation())); >- generatedXML.writeElement(null, "displayname", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:displayname", XMLWriter.OPENING); > generatedXML.writeData(resourceName); >- generatedXML.writeElement(null, "displayname", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:displayname", XMLWriter.CLOSING); > if (cacheEntry.resource != null) { > generatedXML.writeProperty >- (null, "getlastmodified", FastHttpDateFormat.formatDate >+ (null, "D:getlastmodified", FastHttpDateFormat.formatDate > (cacheEntry.attributes.getLastModified(), null)); > generatedXML.writeProperty >- (null, "getcontentlength", >+ (null, "D:getcontentlength", > String.valueOf(cacheEntry.attributes.getContentLength())); > String contentType = getServletContext().getMimeType > (cacheEntry.name); > if (contentType != null) { >- generatedXML.writeProperty(null, "getcontenttype", >+ generatedXML.writeProperty(null, "D:getcontenttype", > contentType); > } >- generatedXML.writeProperty(null, "getetag", >+ generatedXML.writeProperty(null, "D:getetag", > cacheEntry.attributes.getETag()); >- generatedXML.writeElement(null, "resourcetype", >+ generatedXML.writeElement(null, "D:resourcetype", > XMLWriter.NO_CONTENT); > } else { >- generatedXML.writeElement(null, "resourcetype", >+ generatedXML.writeElement(null, "D:resourcetype", > XMLWriter.OPENING); >- generatedXML.writeElement(null, "collection", >+ generatedXML.writeElement(null, "D:collection", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "resourcetype", >+ generatedXML.writeElement(null, "D:resourcetype", > XMLWriter.CLOSING); > } > >- generatedXML.writeProperty(null, "source", ""); >+ generatedXML.writeProperty(null, "D:source", ""); > >- String supportedLocks = "<lockentry>" >- + "<lockscope><exclusive/></lockscope>" >- + "<locktype><write/></locktype>" >- + "</lockentry>" + "<lockentry>" >- + "<lockscope><shared/></lockscope>" >- + "<locktype><write/></locktype>" >- + "</lockentry>"; >- generatedXML.writeElement(null, "supportedlock", >+ String supportedLocks = "<D:lockentry>" >+ + "<D:lockscope><D:exclusive/></D:lockscope>" >+ + "<D:locktype><D:write/></D:locktype>" >+ + "</D:lockentry>" + "<D:lockentry>" >+ + "<D:lockscope><D:shared/></D:lockscope>" >+ + "<D:locktype><D:write/></D:locktype>" >+ + "</D:lockentry>"; >+ generatedXML.writeElement(null, "D:supportedlock", > XMLWriter.OPENING); > generatedXML.writeText(supportedLocks); >- generatedXML.writeElement(null, "supportedlock", >+ generatedXML.writeElement(null, "D:supportedlock", > XMLWriter.CLOSING); > > generateLockDiscovery(path, generatedXML); > >- generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "status", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); > generatedXML.writeText(status); >- generatedXML.writeElement(null, "status", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); > > break; > > case FIND_PROPERTY_NAMES : > >- generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); >- generatedXML.writeElement(null, "prop", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); > >- generatedXML.writeElement(null, "creationdate", >+ generatedXML.writeElement(null, "D:creationdate", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "displayname", >+ generatedXML.writeElement(null, "D:displayname", > XMLWriter.NO_CONTENT); > if (cacheEntry.resource != null) { >- generatedXML.writeElement(null, "getcontentlanguage", >+ generatedXML.writeElement(null, "D:getcontentlanguage", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "getcontentlength", >+ generatedXML.writeElement(null, "D:getcontentlength", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "getcontenttype", >+ generatedXML.writeElement(null, "D:getcontenttype", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "getetag", >+ generatedXML.writeElement(null, "D:getetag", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "getlastmodified", >+ generatedXML.writeElement(null, "D:getlastmodified", > XMLWriter.NO_CONTENT); > } >- generatedXML.writeElement(null, "resourcetype", >+ generatedXML.writeElement(null, "D:resourcetype", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "source", XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "lockdiscovery", >+ generatedXML.writeElement(null, "D:source", XMLWriter.NO_CONTENT); >+ generatedXML.writeElement(null, "D:lockdiscovery", > XMLWriter.NO_CONTENT); > >- generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "status", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); > generatedXML.writeText(status); >- generatedXML.writeElement(null, "status", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); > > break; > >@@ -2176,8 +2176,8 @@ > > // Parse the list of properties > >- generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); >- generatedXML.writeElement(null, "prop", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); > > Enumeration<String> properties = propertiesVector.elements(); > >@@ -2187,19 +2187,19 @@ > > if (property.equals("creationdate")) { > generatedXML.writeProperty >- (null, "creationdate", >+ (null, "D:creationdate", > getISOCreationDate(cacheEntry.attributes.getCreation())); > } else if (property.equals("displayname")) { > generatedXML.writeElement >- (null, "displayname", XMLWriter.OPENING); >+ (null, "D:displayname", XMLWriter.OPENING); > generatedXML.writeData(resourceName); > generatedXML.writeElement >- (null, "displayname", XMLWriter.CLOSING); >+ (null, "D:displayname", XMLWriter.CLOSING); > } else if (property.equals("getcontentlanguage")) { > if (cacheEntry.context != null) { > propertiesNotFound.addElement(property); > } else { >- generatedXML.writeElement(null, "getcontentlanguage", >+ generatedXML.writeElement(null, "D:getcontentlanguage", > XMLWriter.NO_CONTENT); > } > } else if (property.equals("getcontentlength")) { >@@ -2207,7 +2207,7 @@ > propertiesNotFound.addElement(property); > } else { > generatedXML.writeProperty >- (null, "getcontentlength", >+ (null, "D:getcontentlength", > (String.valueOf(cacheEntry.attributes.getContentLength()))); > } > } else if (property.equals("getcontenttype")) { >@@ -2215,7 +2215,7 @@ > propertiesNotFound.addElement(property); > } else { > generatedXML.writeProperty >- (null, "getcontenttype", >+ (null, "D:getcontenttype", > getServletContext().getMimeType > (cacheEntry.name)); > } >@@ -2224,42 +2224,42 @@ > propertiesNotFound.addElement(property); > } else { > generatedXML.writeProperty >- (null, "getetag", cacheEntry.attributes.getETag()); >+ (null, "D:getetag", cacheEntry.attributes.getETag()); > } > } else if (property.equals("getlastmodified")) { > if (cacheEntry.context != null) { > propertiesNotFound.addElement(property); > } else { > generatedXML.writeProperty >- (null, "getlastmodified", FastHttpDateFormat.formatDate >+ (null, "D:getlastmodified", FastHttpDateFormat.formatDate > (cacheEntry.attributes.getLastModified(), null)); > } > } else if (property.equals("resourcetype")) { > if (cacheEntry.context != null) { >- generatedXML.writeElement(null, "resourcetype", >+ generatedXML.writeElement(null, "D:resourcetype", > XMLWriter.OPENING); >- generatedXML.writeElement(null, "collection", >+ generatedXML.writeElement(null, "D:collection", > XMLWriter.NO_CONTENT); >- generatedXML.writeElement(null, "resourcetype", >+ generatedXML.writeElement(null, "D:resourcetype", > XMLWriter.CLOSING); > } else { >- generatedXML.writeElement(null, "resourcetype", >+ generatedXML.writeElement(null, "D:resourcetype", > XMLWriter.NO_CONTENT); > } > } else if (property.equals("source")) { >- generatedXML.writeProperty(null, "source", ""); >+ generatedXML.writeProperty(null, "D:source", ""); > } else if (property.equals("supportedlock")) { >- supportedLocks = "<lockentry>" >- + "<lockscope><exclusive/></lockscope>" >- + "<locktype><write/></locktype>" >- + "</lockentry>" + "<lockentry>" >- + "<lockscope><shared/></lockscope>" >- + "<locktype><write/></locktype>" >- + "</lockentry>"; >- generatedXML.writeElement(null, "supportedlock", >+ supportedLocks = "<D:lockentry>" >+ + "<D:lockscope><D:exclusive/></D:lockscope>" >+ + "<D:locktype><D:write/></D:locktype>" >+ + "</D:lockentry>" + "<D:lockentry>" >+ + "<D:lockscope><D:shared/></D:lockscope>" >+ + "<D:locktype><D:write/></D:locktype>" >+ + "</D:lockentry>"; >+ generatedXML.writeElement(null, "D:supportedlock", > XMLWriter.OPENING); > generatedXML.writeText(supportedLocks); >- generatedXML.writeElement(null, "supportedlock", >+ generatedXML.writeElement(null, "D:supportedlock", > XMLWriter.CLOSING); > } else if (property.equals("lockdiscovery")) { > if (!generateLockDiscovery(path, generatedXML)) >@@ -2270,11 +2270,11 @@ > > } > >- generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "status", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); > generatedXML.writeText(status); >- generatedXML.writeElement(null, "status", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); > > Enumeration<String> propertiesNotFoundList = > propertiesNotFound.elements(); >@@ -2285,8 +2285,8 @@ > + " " + WebdavStatus.getStatusText > (WebdavStatus.SC_NOT_FOUND)); > >- generatedXML.writeElement(null, "propstat", XMLWriter.OPENING); >- generatedXML.writeElement(null, "prop", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.OPENING); > > while (propertiesNotFoundList.hasMoreElements()) { > generatedXML.writeElement >@@ -2294,11 +2294,11 @@ > XMLWriter.NO_CONTENT); > } > >- generatedXML.writeElement(null, "prop", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "status", XMLWriter.OPENING); >+ generatedXML.writeElement(null, "D:prop", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.OPENING); > generatedXML.writeText(status); >- generatedXML.writeElement(null, "status", XMLWriter.CLOSING); >- generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:status", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:propstat", XMLWriter.CLOSING); > > } > >@@ -2306,7 +2306,7 @@ > > } > >- generatedXML.writeElement(null, "response", XMLWriter.CLOSING); >+ generatedXML.writeElement(null, "D:response", XMLWriter.CLOSING); > > } > >@@ -2390,7 +2390,7 @@ > generatedXML.writeElement(null, "resourcetype", > XMLWriter.CLOSING); > >- generatedXML.writeProperty(null, "source", ""); >+ generatedXML.writeProperty(null, "D:source", ""); > > String supportedLocks = "<lockentry>" > + "<lockscope><exclusive/></lockscope>" >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 49428
:
25584
|
25764