MAPREDUCE-2516. Rename webinterface.private.actions to mapreduce.jobtracker.webinterface.trusted. Contributed by Ari Rabkin.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/mapreduce/trunk@1125223 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 3247a10..746c1cc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -119,6 +119,9 @@
     MAPREDUCE-2372. TaskLogAppender mechanism shouldn't be set up in
     log4j.properties (todd)
 
+    MAPREDUCE-2516. Rename webinterface.private.actions to
+    mapreduce.jobtracker.webinterface.trusted (Ari Rabkin via todd)
+
   OPTIMIZATIONS
     
     MAPREDUCE-2026. Make JobTracker.getJobCounters() and
diff --git a/src/java/mapred-default.xml b/src/java/mapred-default.xml
index d76ca04..0b74e97 100644
--- a/src/java/mapred-default.xml
+++ b/src/java/mapred-default.xml
@@ -1004,6 +1004,16 @@
 </property>
 
 <property>
+  <name>mapreduce.jobtracker.webinterface.trusted</name>
+  <value>false</value>
+  <description> If set to true, the web interface of the JobTracker                       
+                will include actions such as kill job that are security sensitive.
+                Leave this option as false if untrusted users have access to the web interface.                              
+  </description>
+</property>
+
+
+<property>
   <name>mapreduce.tasktracker.indexcache.mb</name>
   <value>10</value>
   <description> The maximum memory that a task tracker allows for the 
diff --git a/src/java/org/apache/hadoop/mapred/JSPUtil.java b/src/java/org/apache/hadoop/mapred/JSPUtil.java
index 9214ea7..837f59e 100644
--- a/src/java/org/apache/hadoop/mapred/JSPUtil.java
+++ b/src/java/org/apache/hadoop/mapred/JSPUtil.java
@@ -49,7 +49,6 @@
 import org.apache.hadoop.util.StringUtils;
 
 class JSPUtil {
-  static final String PRIVATE_ACTIONS_KEY = "webinterface.private.actions";
 
   //LRU based cache
   private static final Map<String, JobInfo> jobHistoryCache = 
@@ -476,7 +475,7 @@
   }
 
   static boolean privateActionsAllowed(JobConf conf) {
-    return conf.getBoolean(PRIVATE_ACTIONS_KEY, false);
+    return conf.getBoolean(JTConfig.PRIVATE_ACTIONS_KEY, false);
   }
 
   static Path getJobConfFilePath(Path logFile) {
diff --git a/src/java/org/apache/hadoop/mapreduce/server/jobtracker/JTConfig.java b/src/java/org/apache/hadoop/mapreduce/server/jobtracker/JTConfig.java
index de9706d..d6a4c0f 100644
--- a/src/java/org/apache/hadoop/mapreduce/server/jobtracker/JTConfig.java
+++ b/src/java/org/apache/hadoop/mapreduce/server/jobtracker/JTConfig.java
@@ -107,6 +107,8 @@
   public static final String JT_USER_NAME = "mapreduce.jobtracker.kerberos.principal";
   public static final String JT_KEYTAB_FILE = 
     "mapreduce.jobtracker.keytab.file";
+  public static final String PRIVATE_ACTIONS_KEY = 
+     "mapreduce.jobtracker.webinterface.trusted";
   public static final String JT_PLUGINS = 
     "mapreduce.jobtracker.plugins";
 }
diff --git a/src/java/org/apache/hadoop/mapreduce/util/ConfigUtil.java b/src/java/org/apache/hadoop/mapreduce/util/ConfigUtil.java
index d3348a2..7d9a92f 100644
--- a/src/java/org/apache/hadoop/mapreduce/util/ConfigUtil.java
+++ b/src/java/org/apache/hadoop/mapreduce/util/ConfigUtil.java
@@ -509,6 +509,9 @@
       new String[] {org.apache.hadoop.mapred.pipes.Submitter.PARTITIONER});
     Configuration.addDeprecation("mapred.pipes.user.inputformat", 
       new String[] {org.apache.hadoop.mapred.pipes.Submitter.INPUT_FORMAT});
+    
+    Configuration.addDeprecation("webinterface.private.actions", 
+        new String[]{JTConfig.PRIVATE_ACTIONS_KEY});
   }
 }
 
diff --git a/src/test/mapred/org/apache/hadoop/mapred/TestWebUIAuthorization.java b/src/test/mapred/org/apache/hadoop/mapred/TestWebUIAuthorization.java
index d73763a..b244004 100644
--- a/src/test/mapred/org/apache/hadoop/mapred/TestWebUIAuthorization.java
+++ b/src/test/mapred/org/apache/hadoop/mapred/TestWebUIAuthorization.java
@@ -674,7 +674,7 @@
 
     props.setProperty("dfs.permissions.enabled", "false");
     
-    props.setProperty(JSPUtil.PRIVATE_ACTIONS_KEY, "true");
+    props.setProperty(JTConfig.PRIVATE_ACTIONS_KEY, "true");
     props.setProperty(MRJobConfig.SETUP_CLEANUP_NEEDED, "false");
     props.setProperty(MRConfig.MR_SUPERGROUP, "superGroup");
     props.setProperty(MRConfig.MR_ADMINS, mrAdminUser + " " + mrAdminGroup);