From 4e9a0be79bdc0b1e6613b9e62981b52f0e89fc4d Mon Sep 17 00:00:00 2001
From: Denis Sumin <denis.smolov@demlabs.net>
Date: Sat, 28 Dec 2024 18:08:34 +0000
Subject: [PATCH 1/2] Bugfix 14901

---
 chain/wallet/handlers/DapAbstractCommand.cpp |  7 +++++++
 chain/wallet/handlers/DapCommandList.cpp     | 14 +++++++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/chain/wallet/handlers/DapAbstractCommand.cpp b/chain/wallet/handlers/DapAbstractCommand.cpp
index c6c2aaf9..f96c37b5 100644
--- a/chain/wallet/handlers/DapAbstractCommand.cpp
+++ b/chain/wallet/handlers/DapAbstractCommand.cpp
@@ -135,6 +135,13 @@ QVariant DapAbstractCommand::respondToClient(const QVariant &args)
     }
 
     //Q_UNUSED(args)
+//    if(listArgs.count() >= 3)
+    if(this->getName() == "DapAddWalletCommand")
+    {
+        if(listArgs.count() > 3)
+            listArgs[3] = "****"; //hide pass in logs
+    }
+
     qDebug() << "[" << this->getName() << "] [respondToClient] " << listArgs;
     return QVariant();
 }
diff --git a/chain/wallet/handlers/DapCommandList.cpp b/chain/wallet/handlers/DapCommandList.cpp
index 62f7eee4..b67bb76e 100644
--- a/chain/wallet/handlers/DapCommandList.cpp
+++ b/chain/wallet/handlers/DapCommandList.cpp
@@ -1405,13 +1405,21 @@ bool DapCommandList::checkContentLenght(QString body)
 
 QVariant DapCommandList::requestToNodeCLI(QPair<QString*, QString> cmd)
 {
+    QStringList args = cmd.second.split(" ");
     QProcess process;
     process.setProgram(*cmd.first);
-    process.setArguments(cmd.second.split(" "));
+    process.setArguments(args);
     process.start();
     /// TODO: if you need a list of output commands, then uncomment.
     /// In the usual case, it is better to avoid this because it causes logging redundancy.
-    qDebug()<< process.program() << "command:" << process.arguments();
+    if(args.contains("-password"))
+    {
+        int idx = args.indexOf("-password");
+        if(args.count() >= idx+1)
+            args[idx+1] = "****";
+    }
+
+    qDebug()<< process.program() << "command:" << args;
 
     int attempt_count = 5;
 
@@ -1428,7 +1436,7 @@ QVariant DapCommandList::requestToNodeCLI(QPair<QString*, QString> cmd)
         attempt_count--;
     }
 
-    qWarning() << QString("Timeout request: %1. Error string: %2. Error number: %3.").arg(cmd.second).arg(process.errorString()).arg(process.error());
+    qWarning() << "Timeout request: " << args << QString("Error string: %2. Error number: %3.").arg(process.errorString()).arg(process.error());
     return QString();
 }
 
-- 
GitLab


From f388acc92b87cb526d68b4d45d0fbfc3e888772a Mon Sep 17 00:00:00 2001
From: Erdem Erdyniev <erdem.erdyniev@demlabs.net>
Date: Thu, 23 Jan 2025 12:24:09 +0700
Subject: [PATCH 2/2] [*] Fixed error message when creating a wallet

---
 chain/wallet/handlers/DapAddWalletCommand.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/chain/wallet/handlers/DapAddWalletCommand.cpp b/chain/wallet/handlers/DapAddWalletCommand.cpp
index b92ed08f..02039e4c 100644
--- a/chain/wallet/handlers/DapAddWalletCommand.cpp
+++ b/chain/wallet/handlers/DapAddWalletCommand.cpp
@@ -41,8 +41,14 @@ QVariant DapAddWalletCommand::respondToClient(const QVariant &args)
     }
     else
     {
+        QString failureMessage;
+        if(resultStr.contains("message:"))
+            failureMessage = resultStr.split("message:").at(1).split("\n").at(0);
+        else
+            failureMessage = resultStr;
+
         resultObj.insert(SUCCESS,QJsonValue(false));
-        resultObj.insert(MESSAGE,QJsonValue(resultStr));
+        resultObj.insert(MESSAGE,QJsonValue(failureMessage));
     }
 
 
-- 
GitLab