aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/java/io/FilePermission.java19
2 files changed, 18 insertions, 8 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 0fb344c..c05188b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2005-04-20 Michael Koch <konqueror@gmx.de>
+
+ * java/io/FilePermission.java
+ (serialVersionUID): Made private.
+ (ALL_FILES): New constant.
+ (implies): Handle '<<ALL FILES>>' case.
+
2005-04-20 Sven de Marothy <sven@physto.se>
* gnu/java/awt/peer/gtk/GdkGraphics.java:
diff --git a/libjava/java/io/FilePermission.java b/libjava/java/io/FilePermission.java
index 9151bf6..6534cd8 100644
--- a/libjava/java/io/FilePermission.java
+++ b/libjava/java/io/FilePermission.java
@@ -1,5 +1,5 @@
-/* java.lang.FilePermission
- Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
+/* FilePermission.java --
+ Copyright (C) 1998, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
-
+
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -42,11 +42,13 @@ import java.security.Permission;
public final class FilePermission extends Permission implements Serializable
{
- static final long serialVersionUID = 7930732926638008763L;
+ private static final long serialVersionUID = 7930732926638008763L;
private static final String CURRENT_DIRECTORY =
System.getProperty("user.dir");
+ private static final String ALL_FILES = "<<ALL FILES>>";
+
private boolean readPerm = false;
private boolean writePerm = false;
private boolean executePerm = false;
@@ -200,14 +202,15 @@ public final class FilePermission extends Permission implements Serializable
*/
public boolean implies(Permission p)
{
- FilePermission fp;
-
if (! (p instanceof FilePermission))
return false;
- fp = (FilePermission) p;
-
String f1 = getName();
+
+ if (f1.equals(ALL_FILES))
+ return true;
+
+ FilePermission fp = (FilePermission) p;
String f2 = fp.getName();
if (f1.charAt(0) != File.separatorChar)