diff --git a/application.qrc b/application.qrc
index f6867ed..8d3f44a 100644
--- a/application.qrc
+++ b/application.qrc
@@ -26,9 +26,6 @@
res/hushdlogo.png
res/logobig.gif
- res/silentdragon-animated.gif
- res/silentdragon-animated-dark.gif
- res/silentdragon-animated-startup.gif
res/silentdragon-animated-startup-dark.gif
diff --git a/build.sh b/build.sh
index d513134..8f167df 100755
--- a/build.sh
+++ b/build.sh
@@ -4,18 +4,7 @@
set -e
UNAME=$(uname)
-
-if [ "$UNAME" == "Linux" ] ; then
- JOBS=$(nproc)
-elif [ "$UNAME" == "FreeBSD" ] ; then
- JOBS=$(nproc)
-elif [ "$UNAME" == "Darwin" ] ; then
- JOBS=$(sysctl -n hw.ncpu)
-else
- JOBS=1
-fi
-
-VERSION=$(cat src/version.h |cut -d\" -f2)
+VERSION=$(grep APP_VERSION src/version.h |cut -d\" -f2)
CONF=${SDCONF:-silentdragon.pro}
WALLET="SilentDragon"
if [ "$CONF" == "silentdragonx.pro" ] ; then
@@ -40,12 +29,12 @@ make --version
qbuild () {
qmake $CONF -spec linux-clang CONFIG+=debug
- make -j$JOBS
+ make -j2 "$@"
}
qbuild_release () {
qmake $CONF -spec linux-clang CONFIG+=release
- make -j$JOBS
+ make -j2 "$@"
}
if [ "$1" == "clean" ]; then
@@ -55,9 +44,9 @@ elif [ "$1" == "linguist" ]; then
lrelease $CONF
elif [ "$1" == "cleanbuild" ]; then
make clean
- qbuild
+ qbuild "$@"
elif [ "$1" == "release" ]; then
- qbuild_release
+ qbuild_release "$@"
else
- qbuild
+ qbuild "$@"
fi
diff --git a/doc/relnotes/README.md b/doc/relnotes/README.md
index 8d10fc1..fa1a866 100644
--- a/doc/relnotes/README.md
+++ b/doc/relnotes/README.md
@@ -10,6 +10,17 @@ and no longer on Github, since they banned Duke Leto and
also because they censor many people around the world and work with
evil organizations.
+# SilentDragon 1.4.2 "Waggish Weevil"
+
+```
+ 11 files changed, 35 insertions(+), 32 deletions(-)
+```
+
+ * Fix a coredump that can happen after importing a private key https://git.hush.is/hush/SilentDragon/issues/155
+ * Prevent the logging of sensitive data to STDOUT, since it could be redirected to a file or shared in a bug report or screenshot https://git.hush.is/hush/SilentDragon/commit/2754629a95c1efe603b3c3245f90a26b3ed7f177
+ * Update startup animation graphic https://git.hush.is/hush/SilentDragon/pulls/147
+ * Allow compiling with a custom number of jobs in build.sh https://git.hush.is/hush/SilentDragon/issues/156
+
# SilentDragon 1.4.1 "Scintillating Sundew"
```
@@ -29,8 +40,6 @@ evil organizations.
* New Tab "Debug Log" renders content of debug.log
* Allows showing the last X lines of debug.log, defaults to 50 lines
-
-
# SilentDragon 1.4.0 "Zany Zooid"
```
diff --git a/res/silentdragon-animated-dark.gif b/res/silentdragon-animated-dark.gif
deleted file mode 100644
index 10999e1..0000000
Binary files a/res/silentdragon-animated-dark.gif and /dev/null differ
diff --git a/res/silentdragon-animated-startup.gif b/res/silentdragon-animated-startup.gif
deleted file mode 100644
index 8e368b2..0000000
Binary files a/res/silentdragon-animated-startup.gif and /dev/null differ
diff --git a/res/silentdragon-animated.gif b/res/silentdragon-animated.gif
deleted file mode 100644
index c7c521c..0000000
Binary files a/res/silentdragon-animated.gif and /dev/null differ
diff --git a/src/connection.cpp b/src/connection.cpp
index acad8bd..a5a0a5b 100644
--- a/src/connection.cpp
+++ b/src/connection.cpp
@@ -890,15 +890,25 @@ Connection::~Connection() {
void Connection::doRPC(const QJsonValue& payload, const std::function& cb,
const std::function& ne) {
if (shutdownInProgress) {
- qDebug() << __func__ << ": Ignoring RPC because shutdown in progress";
+ DEBUG("Ignoring RPC because shutdown in progress");
return;
}
if(payload.isNull() || payload.isUndefined()) {
- qDebug() << "no payload! ignoring";
+ DEBUG("no payload! ignoring");
return;
} else {
- qDebug() << __func__ << ": " << payload["method"].toString() << payload;
+ // this will match importprivkey z_importkey z_importviewingkey importwallet z_importwallet
+ // and some other RPCs that have no GUI
+ // So this code ends up redacting payloads which contain private keys and filenames which contain private keys
+ QRegExp re("import");
+ //DEBUG("payload.toString==" << payload["method"].toString());
+ //DEBUG("payload.toString.indexIn==" << re.indexIn(payload["method"].toString()) );
+ if( re.indexIn(payload["method"].toString()) == -1 ) {
+ DEBUG( payload["method"].toString() << payload );
+ } else {
+ DEBUG( payload["method"].toString() << " PAYLOAD REDACTED " );
+ }
}
QJsonDocument jd_rpc_call(payload.toObject());
@@ -909,7 +919,7 @@ void Connection::doRPC(const QJsonValue& payload, const std::functiondeleteLater();
if (shutdownInProgress) {
- // Ignoring callback because shutdown in progress
+ DEBUG("Ignoring callback because shutdown in progress");
return;
}
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index f9e8afb..1af8cc4 100755
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1320,7 +1320,8 @@ void MainWindow::importPrivKey() {
if (rescan) {
//TODO: verify rescanfrom is a valid integer
rpc->rescan(pui.rescanfrom->text().trimmed().toInt() , [=] (QJsonValue response){
- qDebug() << __func__ << ":rescanning from height " << pui.rescanfrom->text().toInt() << " finished" << response;
+ //DEBUG("rescanning from height " << pui.rescanfrom->text().toInt() << " finished" << response);
+ DEBUG("rescanning finished" << response);
ui->statusBar->showMessage(tr("Rescanning finished"), 5000);
});
}
diff --git a/src/rpc.cpp b/src/rpc.cpp
index 9ecd34e..06d3fc6 100644
--- a/src/rpc.cpp
+++ b/src/rpc.cpp
@@ -369,7 +369,7 @@ void RPC::importTPrivKey(QString privkey, bool rescan, const std::functionget_theme_name();
movie1->setScaledSize(QSize(512,512));
connD.topIcon->setMovie(movie1);
diff --git a/src/sendtab.cpp b/src/sendtab.cpp
index c18dfaf..8e0554e 100644
--- a/src/sendtab.cpp
+++ b/src/sendtab.cpp
@@ -693,7 +693,7 @@ bool MainWindow::confirmTx(Tx tx) {
return true;
} else {
return false;
- }
+ }
}
// Send button clicked
@@ -720,7 +720,7 @@ void MainWindow::sendButton() {
auto connD = new Ui_ConnectionDialog();
connD->setupUi(d);
- QMovie *movie1 = new QMovie(":/img/silentdragon-animated-dark.gif");;
+ QMovie *movie1 = new QMovie(":/img/silentdragon-animated-startup-dark.gif");;
auto theme = Settings::getInstance()->get_theme_name();
movie1->setScaledSize(QSize(512,512));
connD->topIcon->setMovie(movie1);
diff --git a/src/version.h b/src/version.h
index 2f2fe22..5d16bb3 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1 +1 @@
-#define APP_VERSION "1.4.1"
+#define APP_VERSION "1.4.2"