You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by py...@apache.org on 2006/08/04 06:44:27 UTC

svn commit: r428617 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni/src: main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnection.java test/java/tests/api/java/net/URLTest.java

Author: pyang
Date: Thu Aug  3 21:44:26 2006
New Revision: 428617

URL: http://svn.apache.org/viewvc?rev=428617&view=rev
Log:
Fix for HARMONY-1049 ([classlib][luni] java.net.URL.openConnection() throws unexpected AccessControlException when security manager is enabled.)

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnection.java
    incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/net/URLTest.java

Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnection.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnection.java?rev=428617&r1=428616&r2=428617&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnection.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnection.java Thu Aug  3 21:44:26 2006
@@ -41,6 +41,7 @@
 import java.net.UnknownServiceException;
 import java.security.AccessController;
 import java.security.Permission;
+import java.security.PrivilegedAction;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
@@ -516,7 +517,12 @@
         } catch (URISyntaxException e) {
             // do nothing.
         }
-        responseCache = ResponseCache.getDefault();
+        responseCache = AccessController
+                .doPrivileged(new PrivilegedAction<ResponseCache>() {
+                    public ResponseCache run() {
+                        return ResponseCache.getDefault();
+                    }
+                });
     }
 
     /**

Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/net/URLTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/net/URLTest.java?rev=428617&r1=428616&r2=428617&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/net/URLTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/net/URLTest.java Thu Aug  3 21:44:26 2006
@@ -1161,6 +1161,22 @@
 		}
 	}
 
+    /**
+     * @tests java.net.URL#openConnection()
+     */
+    public void test_openConnection_Security() throws Exception {
+        // regression test for Harmony-1049
+        System.setSecurityManager(new SecurityManager());
+        try {
+            URL u = new URL("http://anyhost");
+            // openConnection should return successfully, and no exception
+            // should be thrown.
+            u.openConnection();
+        } finally {
+            System.setSecurityManager(null);
+        }
+    }
+    
 	/**
 	 * Sets up the fixture, for example, open a network connection. This method
 	 * is called before a test is executed.