Browse Source

Merge pull request #2 from MyHush/duke

Sync Branch
pull/163/head
Denio 4 years ago
committed by GitHub
parent
commit
c62b4d231f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      .travis.yml
  2. 3
      application.qrc
  3. BIN
      res/silentdragon_de.qm
  4. 459
      res/silentdragon_de.ts
  5. BIN
      res/silentdragon_es.qm
  6. 593
      res/silentdragon_es.ts
  7. BIN
      res/silentdragon_fi.qm
  8. 459
      res/silentdragon_fi.ts
  9. 2201
      res/silentdragon_fil.ts
  10. BIN
      res/silentdragon_fr.qm
  11. 459
      res/silentdragon_fr.ts
  12. BIN
      res/silentdragon_hr.qm
  13. 459
      res/silentdragon_hr.ts
  14. 2196
      res/silentdragon_id.ts
  15. 459
      res/silentdragon_it.ts
  16. BIN
      res/silentdragon_nl.qm
  17. 459
      res/silentdragon_nl.ts
  18. 459
      res/silentdragon_pt.ts
  19. BIN
      res/silentdragon_ru.qm
  20. 459
      res/silentdragon_ru.ts
  21. BIN
      res/silentdragon_sr.qm
  22. 459
      res/silentdragon_sr.ts
  23. BIN
      res/silentdragon_tr.qm
  24. 459
      res/silentdragon_tr.ts
  25. BIN
      res/silentdragon_uk.qm
  26. 459
      res/silentdragon_uk.ts
  27. 459
      res/silentdragon_zh.ts
  28. 7
      silentdragon.pro
  29. 5
      src/mainwindow.cpp
  30. 2
      src/mainwindow.ui
  31. 9
      src/rpc.cpp
  32. 2
      src/version.h
  33. 78
      src/viewkey.ui
  34. 8
      src/websockets.cpp
  35. 2055
      zec_qt_wallet_pt.ts

10
.travis.yml

@ -1,3 +1,5 @@
dist: trusty
matrix:
include:
# works on Precise and Trusty
@ -9,10 +11,12 @@ matrix:
packages: ['clang-3.7', 'g++-8']
before_install:
# TODO: I usually make builds with 5.14 - Duke
- sudo add-apt-repository ppa:beineri/opt-qt591-trusty -y
- sudo apt-get update -qq
- sudo apt-get install qt59base qt59websockets
- source /opt/qt59/bin/qt59-env.sh
- chmod +x res/libsodium/buildlibsodium.sh
script:
- qmake -v
@ -22,6 +26,10 @@ script:
- make CC=clang CXX=clang++ -j2
- make distclean
- qmake silentdragon.pro CONFIG+=release -spec linux-g++
# These next 2 lines test that translation source files can be compiled
# correctly and will hopefully catch syntax errors earlier
# We want the build to fail if we can't compile translations.
- lupdate silentdragon.pro
- lrelease silentdragon.pro
- res/libsodium/buildlibsodium.sh
- make CC=gcc-8 CXX=g++-8 -j2

3
application.qrc

@ -13,12 +13,15 @@
<file>res/logobig.gif</file>
</qresource>
<qresource prefix="/translations">
<file>res/silentdragon_bg.qm</file>
<file>res/silentdragon_de.qm</file>
<file>res/silentdragon_es.qm</file>
<file>res/silentdragon_fi.qm</file>
<file>res/silentdragon_fil.qm</file>
<file>res/silentdragon_fr.qm</file>
<file>res/silentdragon_hr.qm</file>
<file>res/silentdragon_it.qm</file>
<file>res/silentdragon_id.qm</file>
<file>res/silentdragon_nl.qm</file>
<file>res/silentdragon_pt.qm</file>
<file>res/silentdragon_ru.qm</file>

BIN
res/silentdragon_de.qm

Binary file not shown.

459
res/silentdragon_de.ts

File diff suppressed because it is too large

BIN
res/silentdragon_es.qm

Binary file not shown.

593
res/silentdragon_es.ts

File diff suppressed because it is too large

BIN
res/silentdragon_fi.qm

Binary file not shown.

459
res/silentdragon_fi.ts

File diff suppressed because it is too large

2201
res/silentdragon_fil.ts

File diff suppressed because it is too large

BIN
res/silentdragon_fr.qm

Binary file not shown.

459
res/silentdragon_fr.ts

File diff suppressed because it is too large

BIN
res/silentdragon_hr.qm

Binary file not shown.

459
res/silentdragon_hr.ts

File diff suppressed because it is too large

2196
res/silentdragon_id.ts

File diff suppressed because it is too large

459
res/silentdragon_it.ts

File diff suppressed because it is too large

BIN
res/silentdragon_nl.qm

Binary file not shown.

459
res/silentdragon_nl.ts

File diff suppressed because it is too large

459
res/silentdragon_pt.ts

File diff suppressed because it is too large

BIN
res/silentdragon_ru.qm

Binary file not shown.

459
res/silentdragon_ru.ts

File diff suppressed because it is too large

BIN
res/silentdragon_sr.qm

Binary file not shown.

459
res/silentdragon_sr.ts

File diff suppressed because it is too large

BIN
res/silentdragon_tr.qm

Binary file not shown.

459
res/silentdragon_tr.ts

File diff suppressed because it is too large

BIN
res/silentdragon_uk.qm

Binary file not shown.

459
res/silentdragon_uk.ts

File diff suppressed because it is too large

459
res/silentdragon_zh.ts

File diff suppressed because it is too large

7
silentdragon.pro

@ -111,11 +111,14 @@ FORMS += \
src/requestdialog.ui
TRANSLATIONS = res/silentdragon_de.ts \
TRANSLATIONS = res/silentdragon_bg.ts \
res/silentdragon_de.ts \
res/silentdragon_es.ts \
res/silentdragon_fi.ts \
res/silentdragon_fil.ts \
res/silentdragon_fr.ts \
res/silentdragon_hr.ts \
res/silentdragon_id.ts \
res/silentdragon_it.ts \
res/silentdragon_nl.ts \
res/silentdragon_pt.ts \
@ -126,7 +129,7 @@ TRANSLATIONS = res/silentdragon_de.ts \
res/silentdragon_zh.ts
include(singleapplication/singleapplication.pri)
DEFINES += QAPPLICATION_CLASS=QApplication
DEFINES += QAPPLICATION_CLASS=QApplication _FORTIFY_SOURCE=2
QMAKE_INFO_PLIST = res/Info.plist

5
src/mainwindow.cpp

@ -124,7 +124,7 @@ MainWindow::MainWindow(QWidget *parent) :
setupReceiveTab();
setupBalancesTab();
setupMarketTab();
setupChatTab();
//setupChatTab();
setupHushTab();
rpc = new RPC(this);
@ -1039,7 +1039,7 @@ void MainWindow::setupBalancesTab() {
void MainWindow::setupHushTab() {
ui->hushlogo->setBasePixmap(QPixmap(":/img/res/zcashdlogo.gif"));
}
/*
void MainWindow::setupChatTab() {
qDebug() << __FUNCTION__;
QList<QPair<QString,QString>> addressLabels = AddressBook::getInstance()->getAllAddressLabels();
@ -1070,6 +1070,7 @@ void MainWindow::setupChatTab() {
ui->contactsView->setModel(chatModel);
ui->chatView->setModel( conversationModel );
}
*/
void MainWindow::setupMarketTab() {
qDebug() << "Setting up market tab";

2
src/mainwindow.ui

@ -1014,6 +1014,7 @@
</item>
</layout>
</widget>
<!--
<widget class="QWidget" name="chat_tab">
<attribute name="title">
<string>Chat</string>
@ -1048,6 +1049,7 @@
</item>
</layout>
</widget>
-->
<widget class="QWidget" name="tab_5">
<attribute name="title">
<string>hushd</string>

9
src/rpc.cpp

@ -1092,8 +1092,8 @@ void RPC::checkForUpdate(bool silent) {
}
}
} catch (const std::exception& e) {
// If anything at all goes wrong, just set the price to 0 and move on.
qDebug() << QString("Caught something nasty: ") << e.what();
// If anything at all goes wrong, move on
qDebug() << QString("Exception checking for updates!");
}
});
}
@ -1110,11 +1110,14 @@ void RPC::refreshPrice() {
QNetworkReply *reply = conn->restclient->get(req);
auto s = Settings::getInstance();
qDebug() << "Requesting price feed data via " << price_feed;
QObject::connect(reply, &QNetworkReply::finished, [=] {
reply->deleteLater();
try {
if (reply->error() != QNetworkReply::NoError) {
qDebug() << "Parsing price feed response";
auto parsed = json::parse(reply->readAll(), nullptr, false);
if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) {
qDebug() << QString::fromStdString(parsed["error"]["message"]);
@ -1190,7 +1193,7 @@ void RPC::refreshPrice() {
}
} catch (const std::exception& e) {
// If anything at all goes wrong, just set the price to 0 and move on.
qDebug() << QString("Caught something nasty: ") << e.what();
qDebug() << QString("Price feed update failure : ") << e.what();
}
// If nothing, then set the price to 0;

2
src/version.h

@ -1 +1 @@
#define APP_VERSION "0.9.0"
#define APP_VERSION "0.9.1"

78
src/viewkey.ui

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ViewKey</class>
<widget class="QDialog" name="ViewKey">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>461</width>
<height>389</height>
</rect>
</property>
<property name="windowTitle">
<string>Viewing Key</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QPlainTextEdit" name="viewKeyTxt">
<property name="plainText">
<string/>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok|QDialogButtonBox::Save</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="helpLbl">
<property name="text">
<string notr="true">Viewing Keys. Keep Secure!</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>ViewKey</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>ViewKey</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

8
src/websockets.cpp

@ -538,7 +538,7 @@ QString AppDataServer::encryptOutgoing(QString msg) {
/**
Attempt to decrypt a message. If the decryption fails, it returns the string "error", the decrypted message otherwise.
It will use the given secret to attempt decryption. In addition, it will enforce that the nonce is greater than the last seen nonce,
unless the skipNonceCheck = true, which is used when attempting decrtption with a temp secret key.
unless the skipNonceCheck = true, which is used when attempting decrytption with a temp secret key.
*/
QString AppDataServer::decryptMessage(QJsonDocument msg, QString secretHex, QString lastRemoteNonceHex) {
qDebug() << "Decrypting message";
@ -547,8 +547,9 @@ QString AppDataServer::decryptMessage(QJsonDocument msg, QString secretHex, QStr
QString encryptedhex = msg.object().value("payload").toString();
// Enforce limits on the size of the message
if (noncehex.length() > ((int)crypto_secretbox_NONCEBYTES * 2) ||
encryptedhex.length() > 2 * 50 * 1024 /*50kb*/) {
int MAX_LENGTH = 2*50*1024; // 50kb
if (noncehex.length() > ((int)crypto_secretbox_NONCEBYTES * 2) || encryptedhex.length() > MAX_LENGTH) {
qDebug() << "Encrypted hex size of " << encryptedhex.length() << " bytes is too large!";
return "error";
}
@ -566,6 +567,7 @@ QString AppDataServer::decryptMessage(QJsonDocument msg, QString secretHex, QStr
// Refuse to accept a lower nonce, return an error
delete[] lastRemoteBin;
delete[] noncebin;
qDebug() << "Repeated nonce detected, potential attack or misconfiguration! Bailing out.";
return "error";
}

2055
zec_qt_wallet_pt.ts

File diff suppressed because it is too large
Loading…
Cancel
Save