jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Guggisberg (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1450) move method of the MemoryFileSystem may accept invalid destination path resulting in invalid entries in FS
Date Mon, 10 Mar 2008 16:39:47 GMT

    [ https://issues.apache.org/jira/browse/JCR-1450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577062#action_12577062
] 

Stefan Guggisberg commented on JCR-1450:
----------------------------------------

the FileSystem interface is somehow 'under-specified', it doesn't specify e.g. how to handle
non-existing intermediate folders in above example.

the currently existing other FileSystem implementations (local and db-based) silently create
non-existing intermediate folders (just like java.io.File#mkdirs() does).

i'd suggest to mimic this behavior in MemoryFileSystem rather than throwing an exception.

BTW: patches are welcome ;-)  

> move method of the MemoryFileSystem may accept invalid destination path resulting in
invalid entries in FS
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1450
>                 URL: https://issues.apache.org/jira/browse/JCR-1450
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-core
>            Reporter: Denis Linine
>            Priority: Trivial
>
> It seems there can be a problem with the move method of the MemoryFileSystem class: when
looking at its code it looks that it can accept destinations, specifying folders that do not
exist in the file system.
> For example, if there is a "somefolder/somefile" file and I call the method passing,
say "somefolder/someotherfolder/somefile" as the destination. The destination will be accepted
by the code even if "somefolder/someotherfolder" is not an existing folder and the function
execution will result in a file having the "somefolder/someotherfolder/somefile" path within
a file system having no "somefolder/someotherfolder" folder - the code should probably check
whether the destination path is really a valid one. Such  validation could be performed ,
for example, in the following way: take all path elements from the destination path except
the last one and insure that the resulting path points to an existing folder, throw an exception
otherwise.
> Currently I have no JackRabbit build/test environment set up and could not verify practically
whether the issue described can really take place, the supposition is made after looking at
the move method implementation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message