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 
*/
  
  
  

Reply via email to