Return-Path: Delivered-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Received: (qmail 84376 invoked from network); 25 Jun 2009 23:40:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 25 Jun 2009 23:40:19 -0000 Received: (qmail 76872 invoked by uid 500); 25 Jun 2009 23:40:30 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 76849 invoked by uid 500); 25 Jun 2009 23:40:30 -0000 Mailing-List: contact hdfs-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-dev@hadoop.apache.org Delivered-To: mailing list hdfs-commits@hadoop.apache.org Received: (qmail 76839 invoked by uid 99); 25 Jun 2009 23:40:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Jun 2009 23:40:30 +0000 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.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Jun 2009 23:40:26 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id D11082388876; Thu, 25 Jun 2009 23:40:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r788549 - in /hadoop/hdfs/trunk: CHANGES.txt src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java Date: Thu, 25 Jun 2009 23:40:05 -0000 To: hdfs-commits@hadoop.apache.org From: szetszwo@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090625234005.D11082388876@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: szetszwo Date: Thu Jun 25 23:40:05 2009 New Revision: 788549 URL: http://svn.apache.org/viewvc?rev=788549&view=rev Log: HDFS-181. Validate src path in FSNamesystem.getFileInfo(..). Contributed by Todd Lipcon Modified: hadoop/hdfs/trunk/CHANGES.txt hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java Modified: hadoop/hdfs/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/CHANGES.txt?rev=788549&r1=788548&r2=788549&view=diff ============================================================================== --- hadoop/hdfs/trunk/CHANGES.txt (original) +++ hadoop/hdfs/trunk/CHANGES.txt Thu Jun 25 23:40:05 2009 @@ -35,6 +35,9 @@ HDFS-195. Handle expired tokens when write pipeline is restablished. (Kan Zhang via rangadi) + HDFS-181. Validate src path in FSNamesystem.getFileInfo(..). (Todd + Lipcon via szetszwo) + Release 0.20.1 - Unreleased IMPROVEMENTS Modified: hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java?rev=788549&r1=788548&r2=788549&view=diff ============================================================================== --- hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java (original) +++ hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Thu Jun 25 23:40:05 2009 @@ -1442,6 +1442,9 @@ * or null if file not found */ FileStatus getFileInfo(String src) throws IOException { + if (!DFSUtil.isValidName(src)) { + throw new IOException("Invalid file name: " + src); + } if (isPermissionEnabled) { checkTraverse(src); } Modified: hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java?rev=788549&r1=788548&r2=788549&view=diff ============================================================================== --- hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java (original) +++ hadoop/hdfs/trunk/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java Thu Jun 25 23:40:05 2009 @@ -26,6 +26,7 @@ import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.FSDataOutputStream; +import org.apache.hadoop.ipc.RemoteException; /** * This class tests the FileStatus API. @@ -79,6 +80,15 @@ FileStatus fileInfo = dfsClient.getFileInfo("/noSuchFile"); assertTrue(fileInfo == null); + // make sure getFileInfo throws the appropriate exception for non-relative + // filenames + try { + FileStatus foo = dfsClient.getFileInfo("non-relative"); + fail("getFileInfo for a non-relative path did not thro IOException"); + } catch (RemoteException re) { + assertTrue(re.toString().contains("Invalid file name")); + } + // create a file in home directory // Path file1 = new Path("filestatus.dat");