Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 54644 invoked from network); 10 Mar 2008 16:41:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 10 Mar 2008 16:41:16 -0000 Received: (qmail 8032 invoked by uid 500); 10 Mar 2008 16:41:12 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 7958 invoked by uid 500); 10 Mar 2008 16:41:12 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 7949 invoked by uid 99); 10 Mar 2008 16:41:12 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Mar 2008 09:41:11 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Mar 2008 16:40:32 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 1C50F234C08B for ; Mon, 10 Mar 2008 09:39:47 -0700 (PDT) Message-ID: <279269970.1205167187114.JavaMail.jira@brutus> Date: Mon, 10 Mar 2008 09:39:47 -0700 (PDT) From: "Stefan Guggisberg (JIRA)" To: dev@jackrabbit.apache.org Subject: [jira] Commented: (JCR-1450) move method of the MemoryFileSystem may accept invalid destination path resulting in invalid entries in FS In-Reply-To: <512569811.1204629400673.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ 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.