1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage java.lang; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.FileDescriptor; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.InetAddress; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.Permission; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 25e26b27faf689c17b7894c78caee32432176349ecElliott Hughes * Legacy security code; do not use. 26ad41624e761bcf1af9c8008eb45187fc13983717Elliott Hughes * 27ad41624e761bcf1af9c8008eb45187fc13983717Elliott Hughes * <p>Security managers do <strong>not</strong> provide a 28c9a29bea2462417ebe58bdd3b4f6514d67b53610Jesse Wilson * secure environment for executing untrusted code. Untrusted code cannot be 29c9a29bea2462417ebe58bdd3b4f6514d67b53610Jesse Wilson * safely isolated within the Dalvik VM. 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class SecurityManager { 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 3399b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Deprecated 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected boolean inCheck; 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 38e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public SecurityManager() { } 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 40e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkAccept(String host, int port) { } 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 42e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkAccess(Thread thread) { } 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 44e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkAccess(ThreadGroup group) { } 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 46e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkConnect(String host, int port) { } 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 48e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkConnect(String host, int port, Object context) { } 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 50e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkCreateClassLoader() { } 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 52e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkDelete(String file) { } 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 54e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkExec(String cmd) { } 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 56e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkExit(int status) { } 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 58e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkLink(String libName) { } 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 60e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkListen(int port) { } 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 62e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkMemberAccess(Class<?> cls, int type) { } 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 64e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkMulticast(InetAddress maddr) { } 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 6799b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated use {@link #checkMulticast(java.net.InetAddress)} instead. 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 69e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated public void checkMulticast(InetAddress maddr, byte ttl) { } 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 71e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkPackageAccess(String packageName) { } 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 73e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkPackageDefinition(String packageName) { } 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 75e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkPropertiesAccess() { } 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 77e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkPropertyAccess(String key) { } 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 79e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkRead(FileDescriptor fd) { } 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 81e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkRead(String file) { } 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 83e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkRead(String file, Object context) { } 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 85e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkSecurityAccess(String target) { } 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 87e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkSetFactory() { } 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 89e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public boolean checkTopLevelWindow(Object window) { return true; } 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 91e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkSystemClipboardAccess() { } 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 93e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkAwtEventQueueAccess() { } 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 95e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkPrintJobAccess() { } 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 97e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkWrite(FileDescriptor fd) { } 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 99e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkWrite(String file) { } 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 10299b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 104e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated public boolean getInCheck() { return inCheck; } 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 106e26b27faf689c17b7894c78caee32432176349ecElliott Hughes protected Class[] getClassContext() { return null; } 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 10999b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 111e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated protected ClassLoader currentClassLoader() { return null; } 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 11499b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 116e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated protected int classLoaderDepth() { 117e26b27faf689c17b7894c78caee32432176349ecElliott Hughes return -1; 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 12199b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 123e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated protected Class<?> currentLoadedClass() { return null; } 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 12699b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 128e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated protected int classDepth(String name) { return -1; } 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 13199b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 133e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated protected boolean inClass(String name) { return false; } 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 13699b4489d0555c6e0e5df941cbfad4cf250c8f0b8Elliott Hughes * @deprecated Use {@link #checkPermission} instead. 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 138e26b27faf689c17b7894c78caee32432176349ecElliott Hughes @Deprecated protected boolean inClassLoader() { return false; } 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 141e26b27faf689c17b7894c78caee32432176349ecElliott Hughes * Returns the current thread's thread group. 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public ThreadGroup getThreadGroup() { 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return Thread.currentThread().getThreadGroup(); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 147e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public Object getSecurityContext() { return null; } 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 149e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkPermission(Permission permission) { } 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 151e26b27faf689c17b7894c78caee32432176349ecElliott Hughes public void checkPermission(Permission permission, Object context) { } 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 153