You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/11/18 14:16:35 UTC

[dubbo] branch 3.0 updated: [3.0] Limit the maximum number of lines for the clear command (#9289)

This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new cb34c92  [3.0] Limit the maximum number of lines for the clear command (#9289)
cb34c92 is described below

commit cb34c9257b22a4d21102b582c6bb279220c0831e
Author: 灼华 <43...@users.noreply.github.com>
AuthorDate: Thu Nov 18 22:16:19 2021 +0800

    [3.0] Limit the maximum number of lines for the clear command (#9289)
---
 .../main/java/org/apache/dubbo/qos/legacy/ChangeTelnetHandler.java  | 3 ++-
 .../main/java/org/apache/dubbo/qos/legacy/TraceTelnetHandler.java   | 6 +++---
 .../dubbo/remoting/telnet/support/command/ClearTelnetHandler.java   | 3 ++-
 .../dubbo/remoting/telnet/support/command/ExitTelnetHandler.java    | 2 +-
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/ChangeTelnetHandler.java b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/ChangeTelnetHandler.java
index 2bedf29..dd570a1 100644
--- a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/ChangeTelnetHandler.java
+++ b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/ChangeTelnetHandler.java
@@ -17,6 +17,7 @@
 package org.apache.dubbo.qos.legacy;
 
 import org.apache.dubbo.common.extension.Activate;
+import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.remoting.Channel;
 import org.apache.dubbo.remoting.telnet.TelnetHandler;
 import org.apache.dubbo.remoting.telnet.support.Help;
@@ -34,7 +35,7 @@ public class ChangeTelnetHandler implements TelnetHandler {
 
     @Override
     public String telnet(Channel channel, String message) {
-        if (message == null || message.length() == 0) {
+        if (StringUtils.isEmpty(message)) {
             return "Please input service name, eg: \r\ncd XxxService\r\ncd com.xxx.XxxService";
         }
         StringBuilder buf = new StringBuilder();
diff --git a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/TraceTelnetHandler.java b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/TraceTelnetHandler.java
index 526a075..2488da4 100644
--- a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/TraceTelnetHandler.java
+++ b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/legacy/TraceTelnetHandler.java
@@ -38,8 +38,8 @@ public class TraceTelnetHandler implements TelnetHandler {
     @Override
     public String telnet(Channel channel, String message) {
         String service = (String) channel.getAttribute(ChangeTelnetHandler.SERVICE_KEY);
-        if ((service == null || service.length() == 0)
-                && (message == null || message.length() == 0)) {
+        if ((StringUtils.isEmpty(service))
+                && (StringUtils.isEmpty(message))) {
             return "Please input service name, eg: \r\ntrace XxxService\r\ntrace XxxService xxxMethod\r\ntrace XxxService xxxMethod 10\r\nor \"cd XxxService\" firstly.";
         }
         String[] parts = message.split("\\s+");
@@ -71,7 +71,7 @@ public class TraceTelnetHandler implements TelnetHandler {
             }
         }
         if (invoker != null) {
-            if (method != null && method.length() > 0) {
+            if (StringUtils.isNotEmpty(method)) {
                 boolean found = false;
                 for (Method m : invoker.getInterface().getMethods()) {
                     if (m.getName().equals(method)) {
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java
index 84b78c1..957d5ea 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ClearTelnetHandler.java
@@ -28,6 +28,7 @@ import org.apache.dubbo.remoting.telnet.support.Help;
 @Activate
 @Help(parameter = "[lines]", summary = "Clear screen.", detail = "Clear screen.")
 public class ClearTelnetHandler implements TelnetHandler {
+    private static final int MAX_LINES = 1000;
 
     @Override
     public String telnet(Channel channel, String message) {
@@ -36,7 +37,7 @@ public class ClearTelnetHandler implements TelnetHandler {
             if (!StringUtils.isInteger(message)) {
                 return "Illegal lines " + message + ", must be integer.";
             }
-            lines = Integer.parseInt(message);
+            lines = Math.min(MAX_LINES,Integer.parseInt(message));
         }
         StringBuilder buf = new StringBuilder();
         for (int i = 0; i < lines; i++) {
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java
index 9f176aa..becf205 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/telnet/support/command/ExitTelnetHandler.java
@@ -25,7 +25,7 @@ import org.apache.dubbo.remoting.telnet.support.Help;
  * ExitTelnetHandler
  */
 @Activate
-@Help(parameter = "", summary = "Exit the telnet.", detail = "Exit the telnet.")
+@Help(summary = "Exit the telnet.", detail = "Exit the telnet.")
 public class ExitTelnetHandler implements TelnetHandler {
 
     @Override