DO NOT REPLY [Bug 43593] New: - propFind method incorrectly parses namespaced string property names
[email protected] Wed, 10 Oct 2007 14:04:55 -0700 (PDT)
| Newsgroups | gmane.comp.jakarta.slide.devel |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=43593>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=43593
Summary: propFind method incorrectly parses namespaced string
property names
Product: Slide
Version: Nightly
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: NEW
Severity: normal
Priority: P2
Component: WebDAV client
AssignedTo: [email protected]
ReportedBy: [email protected]
When WebdavResource.propfindMethod( String ) is called with a namespaced
property such as 'http://example.com/ns:customproperty', incorrect XML is sent
over the wire (note the extra colon at the end of the namespace):
<D:propfind xmlns:D="DAV:">
<D:prop>
<ZZ:customproperty xmlns:ZZ="http://example.com/ns:">
</ZZ:customproperty>
</D:prop>
</D:propfind>
Passing the property in as a Vector containing a PropertyName, the correct XML
is sent over the wire.
It seems like there is an off-by-one error in
PropFindMethod.setPropertyNames(Enumeration):
Index: clientlib/src/java/org/apache/webdav/lib/methods/PropFindMethod.java
===================================================================
--- clientlib/src/java/org/apache/webdav/lib/methods/PropFindMethod.java
(revision 583601)
+++ clientlib/src/java/org/apache/webdav/lib/methods/PropFindMethod.java
(working copy)
@@ -284,7 +284,7 @@
if ((i == 1) || (i >= length)) {
list.add(new PropertyName("DAV:",propertyName));
} else {
- String namespace = propertyName.substring(0, length + 1 - i);
+ String namespace = propertyName.substring(0, length - i);
String localName = propertyName.substring(length + 1 - i);
list.add(new PropertyName(namespace,localName));
}
This patch seems to fix the issue, although it seems like this bit of code is
meant to deal nicely with multi-byte characters?
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.