You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ar...@apache.org on 2021/03/09 11:16:01 UTC
[zookeeper] branch branch-3.6 updated: ZOOKEEPER-4224: Backport
ZOOKEEPER-3891 to branch-3.6
This is an automated email from the ASF dual-hosted git repository.
arshad pushed a commit to branch branch-3.6
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/branch-3.6 by this push:
new 8d0a6d6 ZOOKEEPER-4224: Backport ZOOKEEPER-3891 to branch-3.6
8d0a6d6 is described below
commit 8d0a6d64ae348016c4864ff49bb83281d618d8a5
Author: Mukti Krishnan <mu...@gmail.com>
AuthorDate: Tue Mar 9 16:47:36 2021 +0530
ZOOKEEPER-4224: Backport ZOOKEEPER-3891 to branch-3.6
Author: Mukti <mu...@gmail.com>
Reviewers: Mohammad Arshad <ar...@apache.org>
Closes #1618 from MuktiKrishnan/ZOOKEEPER-4224
---
.../src/main/resources/markdown/zookeeperCLI.md | 4 ++--
.../org/apache/zookeeper/cli/CliWrapperException.java | 2 +-
.../test/java/org/apache/zookeeper/ZooKeeperTest.java | 19 +++++++++++++++++--
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/zookeeper-docs/src/main/resources/markdown/zookeeperCLI.md b/zookeeper-docs/src/main/resources/markdown/zookeeperCLI.md
index 86b55ec..205c3ba 100644
--- a/zookeeper-docs/src/main/resources/markdown/zookeeperCLI.md
+++ b/zookeeper-docs/src/main/resources/markdown/zookeeperCLI.md
@@ -68,7 +68,7 @@ Add a authorized user for ACL
```bash
[zkshell: 9] getAcl /acl_digest_test
- Authentication is not valid : /acl_digest_test
+ Insufficient permission : /acl_digest_test
[zkshell: 10] addauth digest user1:12345
[zkshell: 11] getAcl /acl_digest_test
'digest,'user1:+owfoSBn/am19roBPzR1/MfCblE=
@@ -354,7 +354,7 @@ Pre-requisites:
1. set reconfigEnabled=true in the zoo.cfg
-2. add a super user or skipAcl,otherwise will get “Authentication is not valid”. e.g. addauth digest zookeeper:admin
+2. add a super user or skipAcl,otherwise will get “Insufficient permission”. e.g. addauth digest zookeeper:admin
```bash
# Change follower 2 to an observer and change its port from 2182 to 12182
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/cli/CliWrapperException.java b/zookeeper-server/src/main/java/org/apache/zookeeper/cli/CliWrapperException.java
index b2d00bf..fcf46d9 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/cli/CliWrapperException.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/cli/CliWrapperException.java
@@ -43,7 +43,7 @@ public class CliWrapperException extends CliException {
} else if (keeperException instanceof KeeperException.InvalidACLException) {
return "Acl is not valid : " + keeperException.getPath();
} else if (keeperException instanceof KeeperException.NoAuthException) {
- return "Authentication is not valid : " + keeperException.getPath();
+ return "Insufficient permission : " + keeperException.getPath();
} else if (keeperException instanceof KeeperException.BadArgumentsException) {
return "Arguments are not valid : " + keeperException.getPath();
} else if (keeperException instanceof KeeperException.BadVersionException) {
diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java
index 4467a1a..3e465fc 100644
--- a/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java
+++ b/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java
@@ -498,15 +498,20 @@ public class ZooKeeperTest extends ClientBase {
final ZooKeeper zk = createClient();
ZooKeeperMain zkMain = new ZooKeeperMain(zk);
String cmd1 = "redo -1";
+ String result = executeLine(zkMain, cmd1);
+ assertEquals("Command index out of range", result);
+ }
+ private String executeLine(ZooKeeperMain zkMain, String cmd)
+ throws InterruptedException, IOException {
// setup redirect out/err streams to get System.in/err, use this
// judiciously!
final PrintStream systemErr = System.err; // get current err
final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
System.setErr(new PrintStream(errContent));
try {
- zkMain.executeLine(cmd1);
- assertEquals("Command index out of range", errContent.toString().trim());
+ zkMain.executeLine(cmd);
+ return errContent.toString().trim();
} finally {
// revert redirect of out/err streams - important step!
System.setErr(systemErr);
@@ -685,4 +690,14 @@ public class ZooKeeperTest extends ClientBase {
runCommandExpect(cmd, expected);
}
+ @Test
+ public void testInsufficientPermission() throws Exception {
+ final ZooKeeper zk = createClient();
+ zk.create("/permZNode", "".getBytes(), Ids.READ_ACL_UNSAFE, CreateMode.PERSISTENT);
+ ZooKeeperMain zkMain = new ZooKeeperMain(zk);
+ String zNodeToBeCreated = "/permZNode/child1";
+ String errorMessage = executeLine(zkMain, "create " + zNodeToBeCreated);
+ assertEquals("Insufficient permission : " + zNodeToBeCreated, errorMessage);
+ }
+
}