You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by vg...@apache.org on 2004/03/30 16:01:48 UTC
cvs commit: xml-xindice/java/src/org/apache/xindice/client/xmldb/xmlrpc DatabaseImpl.java
vgritsenko 2004/03/30 06:01:48
Modified: java/src/org/apache/xindice/client/xmldb/xmlrpc
DatabaseImpl.java
Log:
add extra check
Revision Changes Path
1.23 +12 -4 xml-xindice/java/src/org/apache/xindice/client/xmldb/xmlrpc/DatabaseImpl.java
Index: DatabaseImpl.java
===================================================================
RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/client/xmldb/xmlrpc/DatabaseImpl.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- DatabaseImpl.java 13 Feb 2004 03:34:17 -0000 1.22
+++ DatabaseImpl.java 30 Mar 2004 14:01:48 -0000 1.23
@@ -322,7 +322,8 @@
/* TODO: introduce authentication some day */
if (!acceptsURI(uri)) {
- throw new XMLDBException(ErrorCodes.INVALID_URI, "Invalid URL: " + uri);
+ throw new XMLDBException(ErrorCodes.INVALID_URI,
+ "Invalid URL: " + uri);
}
/* Chop off driver prefix, and '://' */
@@ -331,10 +332,17 @@
/* Extract host name & port, if present */
int firstSlash = uri.indexOf('/');
if (firstSlash == -1) {
- throw new XMLDBException(ErrorCodes.INVALID_URI, "Invalid URL (must have '/'): " + uri);
+ throw new XMLDBException(ErrorCodes.INVALID_URI,
+ "Invalid URL (must have '/'): " + uri);
}
+ /* Extract collection name */
String collPath = uri.substring(firstSlash);
+ if (!collPath.startsWith("/")) {
+ throw new XMLDBException(ErrorCodes.INVALID_URI,
+ "Invalid URL (collection name must start with '/'): " + uri);
+ }
+
String hostPort = uri.substring(0, firstSlash);
/* Absent host defaults to localhost and standard Xindice HTTP port */