Github user arshadmohammad commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/179#discussion_r101819637
--- Diff:
src/java/main/org/apache/zookeeper/server/command/FourLetterCommands.java ---
@@ -153,13 +159,50 @@
*/
public final static int telnetCloseCmd = 0xfff4fffd;
- final static HashMap<Integer, String> cmd2String =
- new HashMap<Integer, String>();
+ private static final String ZOOKEEPER_4LW_COMMANDS_WHITELIST =
"zookeeper.4lw.commands.whitelist";
+
+ // A property only used in tests to turn on / off entire set of
supported four letter word commands.
+ private static final String ZOOKEEPER_4LW_TEST =
"zookeeper.test.4lw.enabled";
+
+ private static final Logger LOG =
LoggerFactory.getLogger(FourLetterCommands.class);
+
+ private static final Map<Integer, String> cmd2String = new
HashMap<Integer, String>();
+
+ private static final Set<String> whiteListedCommands = new
HashSet<String>();
public static Map<Integer, String> getCmdMapView() {
return Collections.unmodifiableMap(cmd2String);
}
+ // ZOOKEEPER-2693: Only allow white listed commands.
+ public static Set<String> getWhiteListedCmdView() {
+ if (!whiteListedCommands.isEmpty()) {
+ return Collections.unmodifiableSet(whiteListedCommands);
+ }
+
+ if (System.getProperty(ZOOKEEPER_4LW_TEST,
"false").equals("true")) {
--- End diff --
Should be removed as suggested in previous comment
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---