You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ad...@apache.org on 2002/08/20 04:57:02 UTC

cvs commit: jakarta-commons-sandbox/vfs/src/test-data/basedir/dir1 file1.txt file2.txt file3.txt

adammurdoch    2002/08/19 19:57:02

  Modified:    vfs      maven.xml project.properties project.xml
               vfs/src/java/org/apache/commons/vfs/impl
                        DefaultFileReplicator.java
               vfs/src/java/org/apache/commons/vfs/provider
                        AbstractFileObject.java
               vfs/src/java/org/apache/commons/vfs/provider/local
                        LocalFile.java
               vfs/src/java/org/apache/commons/vfs/provider/zip
                        ZipFileSystemProvider.java
               vfs/src/test/org/apache/commons AbstractVfsTestCase.java
               vfs/src/test/org/apache/commons/vfs/provider/local/test
                        LocalFileSystemTestCase.java
               vfs/src/test/org/apache/commons/vfs/test
                        AbstractFileSystemTestCase.java
  Added:       vfs/src/test-data test.policy
               vfs/src/test-data/basedir empty.txt file1.txt
               vfs/src/test-data/basedir/dir1 file1.txt file2.txt file3.txt
  Log:
  - File replication is now performed as a privileged operation.
  - Made unit tests operational.
  
  Patch submitted by Brian Olsen.
  
  Revision  Changes    Path
  1.2       +65 -0     jakarta-commons-sandbox/vfs/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/maven.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- maven.xml	16 Jul 2002 17:19:15 -0000	1.1
  +++ maven.xml	20 Aug 2002 02:57:01 -0000	1.2
  @@ -1,5 +1,70 @@
   <project default="java:jar" xmlns:j="jelly:core">
   
     <!-- we can customize the Maven build here -->
  +  <goal name="test:test-data"
  +        description="Generate and copy the test data"
  +        prereqs="test:compile">
  +
  +    <copy todir="${maven.test.data}">
  +      <fileset dir="${maven.test.data.src}">
  +        <exclude name="*.policy"/>
  +      </fileset>
  +    </copy>
  +
  +    <mkdir dir="${maven.test.data}/basedir/emptydir"/>
  +
  +    <!-- Create a zip file -->
  +    <zip zipfile="${maven.test.data}/test.zip">
  +      <zipfileset dir="${maven.test.data}">
  +        <include name="basedir/**"/>
  +      </zipfileset>
  +    </zip>
  +    <zip zipfile="${maven.test.data}/nested.zip">
  +      <zipfileset dir="${maven.test.data}">
  +        <include name="test.zip"/>
  +      </zipfileset>
  +    </zip>
  +  </goal>
     	
  +  <goal name="test:test"
  +        description="Test the application"
  +        prereqs="test:test-data">
  +
  +    <junit printSummary="yes" 
  +           failureProperty="maven.test.failure"
  +           fork="${maven.junit.fork}"
  +           dir="${maven.junit.dir}">
  +      <sysproperty key="basedir" value="${basedir}"/>
  +      <sysproperty key="test.basedir" value="${maven.test.data}"/>
  +      <sysproperty key="maven.repo.local" value="${maven.repo.local}"/>
  +      <sysproperty key="maven.home" value="${maven.home}"/>
  +      <sysproperty key="maven.build.dest" value="${maven.build.dest}"/>
  +      <j:if test="${maven.test.secure}">
  +      <sysproperty key="java.security.manager" value="" />
  +      <sysproperty key="java.security.policy" value="${maven.test.policy}"/>
  +      </j:if>
  +      <formatter type="xml"/>
  +      <formatter type="plain" usefile="${maven.junit.usefile}"/>
  +      <classpath>
  +        <path refid="maven.dependency.classpath"/>
  +        <pathelement location="${maven.build.dest}"/>
  +        <pathelement location="${maven.test.dest}"/>
  +      </classpath>
  +      <batchtest todir="${maven.test.reportsDirectory}">
  +        <fileset dir="${pom.build.unitTestSourceDirectory}">
  +	      <j:forEach var="pat" items="${pom.build.unitTest.includes}">
  +	        <include name="${pat}"/>
  +	      </j:forEach>
  +	      <j:forEach var="pat" items="${pom.build.unitTest.excludes}">
  +	        <exclude name="${pat}"/>
  +	      </j:forEach>
  +        </fileset>
  +      </batchtest>
  +    </junit>
  +
  +    <j:if test="${maven.test.failure}">
  +      <fail message="There were test failures."/>
  +    </j:if>
  +
  +  </goal>
   </project>
  
  
  
  1.2       +6 -1      jakarta-commons-sandbox/vfs/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/project.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.properties	16 Jul 2002 17:19:15 -0000	1.1
  +++ project.properties	20 Aug 2002 02:57:01 -0000	1.2
  @@ -7,7 +7,12 @@
   maven.compile.deprecation = off
   
   maven.jarResources.basedir=${basedir}/src/java
  -maven.junit.usefile = false
  +maven.junit.usefile = true
  +maven.junit.fork = true
  +maven.test.data.src=${maven.src.dir}/test-data
  +maven.test.data=${maven.build.dir}/test-data
  +maven.test.policy=${maven.test.data.src}/test.policy
  +maven.test.secure=false
    
   
   # use Sun coding standards
  
  
  
  1.4       +9 -24     jakarta-commons-sandbox/vfs/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.xml	18 Jul 2002 16:47:24 -0000	1.3
  +++ project.xml	20 Aug 2002 02:57:01 -0000	1.4
  @@ -68,39 +68,19 @@
         <id>junit</id>
         <version>3.7</version>
       </dependency>
  -    
  -    <dependency>
  -      <id>xml-apis</id>
  -      <version>2.0.2</version>
  -    </dependency>
  -    
  -    <dependency>
  -      <id>xerces</id>
  -      <version>2.0.0</version>
  -    </dependency>
  -    
  +
       <dependency>
         <id>commons-net</id>
         <version>SNAPSHOT</version>
       </dependency>
   
       <dependency>
  -      <id>commons-logging</id>
  -      <version>1.0</version>
  -    </dependency>
  -
  -    <dependency>
         <id>commons-io</id>
         <version>SNAPSHOT</version>
       </dependency>
  -
  -    <dependency>
  -      <id>excalibur-i18n</id>
  -      <version>1.0</version>
  -    </dependency>
       
       <dependency>
  -      <id>excalibur-logger</id>
  +      <id>excalibur-i18n</id>
         <version>1.0</version>
       </dependency>
       
  @@ -113,7 +93,7 @@
         <id>jcifs</id>
         <version>0.6.5</version>
       </dependency>
  -    
  +
     </dependencies>
     
     
  @@ -128,8 +108,13 @@
       <!-- Unit test classes -->
       <unitTest>
         <includes>
  -        <include>**/Test*.java</include>
  +        <include>**/test/*TestCase.java</include>
         </includes>
  +      <excludes>
  +        <exclude>**/test/Abstract*TestCase.java</exclude>
  +        <exclude>**/smb/test/**</exclude>
  +        <exclude>**/ftp/test/**</exclude>
  +      </excludes>
       </unitTest>
   
       
  
  
  
  1.2       +55 -22    jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/impl/DefaultFileReplicator.java
  
  Index: DefaultFileReplicator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/impl/DefaultFileReplicator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultFileReplicator.java	16 Jul 2002 17:18:59 -0000	1.1
  +++ DefaultFileReplicator.java	20 Aug 2002 02:57:02 -0000	1.2
  @@ -9,6 +9,11 @@
   
   import java.io.File;
   import java.util.ArrayList;
  +import java.util.Random;
  +import java.security.AccessController;
  +import java.security.PrivilegedAction;
  +import java.security.PrivilegedExceptionAction;
  +import java.security.PrivilegedActionException;
   import org.apache.commons.vfs.FileConstants;
   import org.apache.commons.vfs.FileObject;
   import org.apache.commons.vfs.FileSelector;
  @@ -32,15 +37,21 @@
       private static final Resources REZ =
           ResourceManager.getPackageResources( DefaultFileReplicator.class );
   
  +    private static long filecount = -1;
  +
       private final DefaultFileSystemManager m_manager;
       private final File m_tempDir;
       private final ArrayList m_copies = new ArrayList();
  -    private long m_filecount;
   
       public DefaultFileReplicator( final DefaultFileSystemManager manager )
       {
           m_manager = manager;
  -        m_tempDir = new File( "ant_vfs_cache" ).getAbsoluteFile();
  +        m_tempDir = (File) AccessController.doPrivileged(
  +            new PrivilegedAction() {
  +                public Object run() {
  +                    return new File( "ant_vfs_cache" ).getAbsoluteFile();
  +                }
  +            } );
       }
   
       /**
  @@ -48,19 +59,40 @@
        */
       public void dispose()
       {
  -        while( m_copies.size() > 0 )
  +    /*
  +        AccessController.doPrivileged(
  +            new PrivilegedAction() {
  +                public Object run()
  +                {
  +                    while( m_copies.size() > 0 )
  +                    {
  +                        final FileObject file = (FileObject)m_copies.remove( 0 );
  +                        try
  +                        {
  +                            file.delete( FileConstants.SELECT_ALL );
  +                        }
  +                        catch( final FileSystemException e )
  +                        {
  +                            final String message = REZ.getString( "delete-temp.warn", file.getName() );
  +                            getLogger().warn( message, e );
  +                        }
  +                    }
  +                    return null;
  +                }
  +            } );
  +      */      
  +    }
  +
  +    protected static File generateTempFile( String prefix, File tempDir )
  +    {
  +        if( filecount == -1 )
           {
  -            final FileObject file = (FileObject)m_copies.remove( 0 );
  -            try
  -            {
  -                file.delete( FileConstants.SELECT_ALL );
  -            }
  -            catch( final FileSystemException e )
  -            {
  -                final String message = REZ.getString( "delete-temp.warn", file.getName() );
  -                getLogger().warn( message, e );
  -            }
  +            filecount = new Random().nextInt() & 0xffff;
           }
  +        // Create a unique-ish file name
  +        final String basename = prefix + "_"+ filecount + ".tmp";
  +        filecount++;
  +        return  new File( tempDir, basename );
       }
   
       /**
  @@ -70,23 +102,24 @@
                                  final FileSelector selector )
           throws FileSystemException
       {
  -        // TODO - this is awful
  -
  -        // Create a unique-ish file name
  -        final String basename = m_filecount + "_" + srcFile.getName().getBaseName();
  -        m_filecount++;
  -        final File file = new File( m_tempDir, basename );
  -
  +        final String basename = srcFile.getName().getBaseName();
  +        final File file = generateTempFile( basename, m_tempDir );
           try
           {
               // Copy from the source file
               final FileObject destFile = m_manager.convert( file );
  -            destFile.copyFrom( srcFile, selector );
  +            AccessController.doPrivileged(
  +                new PrivilegedExceptionAction() {
  +                    public Object run() throws FileSystemException {
  +                        destFile.copyFrom( srcFile, selector );
  +                        return null;
  +                }
  +            } );
   
               // Keep track of the copy
               m_copies.add( destFile );
           }
  -        catch( final FileSystemException e )
  +        catch( final PrivilegedActionException e )
           {
               final String message = REZ.getString( "replicate-file.error", srcFile.getName(), file );
               throw new FileSystemException( message, e );
  
  
  
  1.3       +42 -4     jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/AbstractFileObject.java
  
  Index: AbstractFileObject.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/AbstractFileObject.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractFileObject.java	17 Jul 2002 10:23:42 -0000	1.2
  +++ AbstractFileObject.java	20 Aug 2002 02:57:02 -0000	1.3
  @@ -14,6 +14,9 @@
   import java.net.URL;
   import java.util.ArrayList;
   import java.util.List;
  +import java.security.AccessController;
  +import java.security.PrivilegedExceptionAction;
  +import java.security.PrivilegedActionException;
   import org.apache.commons.vfs.FileConstants;
   import org.apache.commons.vfs.FileContent;
   import org.apache.commons.vfs.FileName;
  @@ -221,10 +224,21 @@
        */
       public URL getURL() throws MalformedURLException
       {
  -        StringBuffer buf = new StringBuffer();
  -
  -        return new URL( UriParser.extractScheme( m_name.getURI(), buf ), null, -1,
  -                        buf.toString(), new DefaultURLStreamHandler( m_fs.getContext() ) );
  +        final StringBuffer buf = new StringBuffer();
  +        try
  +        {
  +            return (URL) AccessController.doPrivileged(
  +                new PrivilegedExceptionAction() {
  +                    public Object run() throws MalformedURLException {
  +                        return new URL( UriParser.extractScheme( m_name.getURI(), buf ), null, -1,
  +                            buf.toString(), new DefaultURLStreamHandler( m_fs.getContext() ) );
  +                    }
  +                } );
  +        }
  +        catch( PrivilegedActionException e )
  +        {
  +            throw (MalformedURLException) e.getException();
  +        }
       }
   
       /**
  @@ -306,6 +320,10 @@
           {
               files = doListChildren();
           }
  +        catch( RuntimeException re )
  +        {
  +            throw re;
  +        }
           catch( Exception exc )
           {
               final String message = REZ.getString( "list-children.error", m_name );
  @@ -371,6 +389,10 @@
           {
               doDelete();
           }
  +        catch( RuntimeException re )
  +        {
  +            throw re;
  +        }
           catch( Exception exc )
           {
               final String message = REZ.getString( "delete.error", m_name );
  @@ -461,6 +483,10 @@
                   endOutput();
               }
           }
  +        catch( RuntimeException re )
  +        {
  +            throw re;
  +        }
           catch( Exception exc )
           {
               final String message = REZ.getString( "create.error", type, m_name );
  @@ -567,6 +593,10 @@
                   IOUtil.shutdownStream( instr );
               }
           }
  +        catch( RuntimeException re )
  +        {
  +            throw re;
  +        }
           catch( final Exception exc )
           {
               final String message = REZ.getString( "copy-file.error", srcFile.getName(), destFile.getName() );
  @@ -665,6 +695,10 @@
           {
               throw exc;
           }
  +        catch( RuntimeException re )
  +        {
  +            throw re;
  +        }
           catch( Exception exc )
           {
               final String message = REZ.getString( "write.error", m_name );
  @@ -692,6 +726,10 @@
           catch( FileSystemException exc )
           {
               throw exc;
  +        }
  +        catch( RuntimeException re )
  +        {
  +            throw re;
           }
           catch( Exception exc )
           {
  
  
  
  1.2       +9 -0      jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/local/LocalFile.java
  
  Index: LocalFile.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/local/LocalFile.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LocalFile.java	16 Jul 2002 17:18:59 -0000	1.1
  +++ LocalFile.java	20 Aug 2002 02:57:02 -0000	1.2
  @@ -12,6 +12,8 @@
   import java.io.FileOutputStream;
   import java.io.InputStream;
   import java.io.OutputStream;
  +import java.io.FilePermission;
  +import java.security.AccessController;
   import org.apache.commons.vfs.FileName;
   import org.apache.commons.vfs.FileObject;
   import org.apache.commons.vfs.FileSelector;
  @@ -36,6 +38,7 @@
   
       private File m_file;
       private final String m_fileName;
  +    private FilePermission m_requiredPerm;
   
       /**
        * Creates a non-root file.
  @@ -57,6 +60,7 @@
           if( m_file == null )
           {
               m_file = new File( m_fileName );
  +            m_requiredPerm = new FilePermission( m_file.getAbsolutePath(), "read" );
           }
       }
   
  @@ -151,6 +155,11 @@
       protected File doReplicateFile( final FileSelector selector )
           throws FileSystemException
       {
  +        final SecurityManager sm = System.getSecurityManager();
  +        if( sm != null )
  +        {
  +            sm.checkPermission( m_requiredPerm );
  +        }
           return m_file;
       }
   }
  
  
  
  1.2       +19 -3     jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/zip/ZipFileSystemProvider.java
  
  Index: ZipFileSystemProvider.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/zip/ZipFileSystemProvider.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ZipFileSystemProvider.java	16 Jul 2002 17:18:58 -0000	1.1
  +++ ZipFileSystemProvider.java	20 Aug 2002 02:57:02 -0000	1.2
  @@ -8,6 +8,9 @@
   package org.apache.commons.vfs.provider.zip;
   
   import java.io.File;
  +import java.security.AccessController;
  +import java.security.PrivilegedExceptionAction;
  +import java.security.PrivilegedActionException;
   import org.apache.commons.vfs.FileConstants;
   import org.apache.commons.vfs.FileObject;
   import org.apache.commons.vfs.FileSystemException;
  @@ -81,12 +84,25 @@
           final ParsedZipUri zipUri = (ParsedZipUri)uri;
           final FileObject file = zipUri.getZipFile();
   
  +        // Create the file system
  +        final DefaultFileName name = new DefaultFileName( m_parser, zipUri.getRootUri(), "/" );
  +
           // Make a local copy of the file
           final File zipFile = file.replicateFile( FileConstants.SELECT_SELF );
   
  -        // Create the file system
  -        DefaultFileName name = new DefaultFileName( m_parser, zipUri.getRootUri(), "/" );
  -        return new ZipFileSystem( getContext(), name, zipFile );
  +        try
  +        {
  +            return (ZipFileSystem)AccessController.doPrivileged(
  +                new PrivilegedExceptionAction() {
  +                    public Object run() throws FileSystemException {
  +                        return new ZipFileSystem( getContext(), name, zipFile );
  +                }
  +            } );
  +        }
  +        catch( PrivilegedActionException pae )
  +        {
  +            throw (FileSystemException) pae.getException();
  +        }
       }
   
   }
  
  
  
  1.2       +5 -4      jakarta-commons-sandbox/vfs/src/test/org/apache/commons/AbstractVfsTestCase.java
  
  Index: AbstractVfsTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/test/org/apache/commons/AbstractVfsTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractVfsTestCase.java	16 Jul 2002 17:19:08 -0000	1.1
  +++ AbstractVfsTestCase.java	20 Aug 2002 02:57:02 -0000	1.2
  @@ -5,7 +5,7 @@
    * version 1.1, a copy of which has been included  with this distribution in
    * the LICENSE.txt file.
    */
  -package org.apache.aut;
  +package org.apache.commons;
   
   import java.io.File;
   import java.io.IOException;
  @@ -17,7 +17,7 @@
   import org.apache.avalon.framework.logger.Logger;
   
   /**
  - * A base class for Myrmidon tests.  Provides utility methods for locating
  + * A base class for VFS tests.  Provides utility methods for locating
    * test resources.
    *
    * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
  @@ -35,8 +35,9 @@
           super( name );
           final String baseDirProp = System.getProperty( "test.basedir" );
           m_baseDir = getCanonicalFile( new File( baseDirProp ) );
  -        final String packagePath = getPackageName( getClass() ).replace( '.', File.separatorChar );
  -        m_testBaseDir = getCanonicalFile( new File( m_baseDir, packagePath ) );
  +//        final String packagePath = getPackageName( getClass() ).replace( '.', File.separatorChar );
  +//        m_testBaseDir = getCanonicalFile( new File( m_baseDir, packagePath ) );
  +        m_testBaseDir = m_baseDir;
       }
   
       /**
  
  
  
  1.2       +1 -2      jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/provider/local/test/LocalFileSystemTestCase.java
  
  Index: LocalFileSystemTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/provider/local/test/LocalFileSystemTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LocalFileSystemTestCase.java	16 Jul 2002 17:19:16 -0000	1.1
  +++ LocalFileSystemTestCase.java	20 Aug 2002 02:57:02 -0000	1.2
  @@ -29,8 +29,7 @@
        */
       protected FileObject getBaseFolder() throws Exception
       {
  -        // Cheat a little
  -        final File testDir = getTestResource( "../../../test/basedir" );
  +        final File testDir = getTestResource( "basedir" );
           final File emptyDir = new File( testDir, "emptydir" );
           emptyDir.mkdirs();
           return m_manager.convert( testDir );
  
  
  
  1.2       +1 -1      jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/test/AbstractFileSystemTestCase.java
  
  Index: AbstractFileSystemTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/test/AbstractFileSystemTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractFileSystemTestCase.java	16 Jul 2002 17:18:58 -0000	1.1
  +++ AbstractFileSystemTestCase.java	20 Aug 2002 02:57:02 -0000	1.2
  @@ -17,7 +17,7 @@
   import java.util.HashMap;
   import java.util.List;
   import java.util.Map;
  -import org.apache.aut.AbstractVfsTestCase;
  +import org.apache.commons.AbstractVfsTestCase;
   import org.apache.commons.vfs.FileContent;
   import org.apache.commons.vfs.FileName;
   import org.apache.commons.vfs.FileObject;
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/test-data/test.policy
  
  Index: test.policy
  ===================================================================
  
  // Standard extensions get all permissions by default
  
  grant codeBase "file:${java.home}/lib/ext/*" {
  	permission java.security.AllPermission;
  };
  
  grant codeBase "file:${maven.home}/-" {
  	permission java.security.AllPermission;
  };
  
  grant codeBase "file:${maven.build.dest}" {
      permission java.io.FilePermission "${user.dir}/ant_vfs_cache/-", "read, write, delete";
      permission java.io.FilePermission "${user.dir}/ant_vfs_cache", "read, write";
      permission java.io.FilePermission "${user.dir}", "read";
      permission java.net.NetPermission "specifyStreamHandler";
  };
  
  // default permissions granted to all domains
  
  grant { 
      permission java.io.FilePermission "${test.basedir}/write-tests", "read, write, delete";
      permission java.io.FilePermission "${test.basedir}/write-tests/-", "read, write, delete";
      permission java.io.FilePermission "${test.basedir}/-", "read";
      permission java.io.FilePermission "${test.basedir}", "read";
  	// Allows any thread to stop itself using the java.lang.Thread.stop()
  	// method that takes no argument.
  	// Note that this permission is granted by default only to remain
  	// backwards compatible.
  	// It is strongly recommended that you either remove this permission
  	// from this policy file or further restrict it to code sources
  	// that you specify, because Thread.stop() is potentially unsafe.
  	// See "http://java.sun.com/notes" for more information.
  	permission java.lang.RuntimePermission "stopThread";
  
  	// allows anyone to listen on un-privileged ports
  	permission java.net.SocketPermission "localhost:1024-", "listen";
  
  	// "standard" properies that can be read by anyone
  
  	permission java.util.PropertyPermission "java.version", "read";
  	permission java.util.PropertyPermission "java.vendor", "read";
  	permission java.util.PropertyPermission "java.vendor.url", "read";
  	permission java.util.PropertyPermission "java.class.version", "read";
  	permission java.util.PropertyPermission "os.name", "read";
  	permission java.util.PropertyPermission "os.version", "read";
  	permission java.util.PropertyPermission "os.arch", "read";
  	permission java.util.PropertyPermission "file.separator", "read";
  	permission java.util.PropertyPermission "path.separator", "read";
  	permission java.util.PropertyPermission "line.separator", "read";
  
  	permission java.util.PropertyPermission "java.specification.version", "read";
  	permission java.util.PropertyPermission "java.specification.vendor", "read";
  	permission java.util.PropertyPermission "java.specification.name", "read";
  
  	permission java.util.PropertyPermission "java.vm.specification.version", "read";
  	permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
  	permission java.util.PropertyPermission "java.vm.specification.name", "read";
  	permission java.util.PropertyPermission "java.vm.version", "read";
  	permission java.util.PropertyPermission "java.vm.vendor", "read";
  	permission java.util.PropertyPermission "java.vm.name", "read";
  	permission java.util.PropertyPermission "test.basedir", "read";
  	permission java.util.PropertyPermission "user.dir", "read";
  };
  
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/test-data/basedir/empty.txt
  
  	<<Binary file>>
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/test-data/basedir/file1.txt
  
  Index: file1.txt
  ===================================================================
  This is a test file.
  With 2 lines in it.
  
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/test-data/basedir/dir1/file1.txt
  
  Index: file1.txt
  ===================================================================
  A test file.
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/test-data/basedir/dir1/file2.txt
  
  Index: file2.txt
  ===================================================================
  A test file.
  
  
  1.1                  jakarta-commons-sandbox/vfs/src/test-data/basedir/dir1/file3.txt
  
  Index: file3.txt
  ===================================================================
  A test file.
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>