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
> 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.

View raw message