diff options
| -rw-r--r-- | Dockerfile.android | 8 | ||||
| -rw-r--r-- | Dockerfile.linux | 30 | ||||
| -rw-r--r-- | Dockerfile.windows | 28 | ||||
| -rw-r--r-- | src/libwalletqt/TransactionHistory.cpp | 31 | ||||
| -rw-r--r-- | src/p2pool/P2PoolManager.cpp | 24 |
5 files changed, 72 insertions, 49 deletions
diff --git a/Dockerfile.android b/Dockerfile.android index 7e3189cc..daa0acc9 100644 --- a/Dockerfile.android +++ b/Dockerfile.android @@ -56,7 +56,7 @@ RUN wget -q https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zl && make -j${THREADS} install \ && rm -rf $(pwd) -RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 \ +RUN git clone https://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 \ && cd qt5 \ && perl init-repository --module-subset=default,-qtwebengine \ && PATH=${HOST_PATH} ./configure -v -developer-build -release \ @@ -90,7 +90,7 @@ RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 \ ARG ICONV_VERSION=1.16 ARG ICONV_HASH=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04 -RUN wget -q http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \ +RUN wget -q https://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \ && echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \ && tar -xzf libiconv-${ICONV_VERSION}.tar.gz \ && rm -f libiconv-${ICONV_VERSION}.tar.gz \ @@ -179,7 +179,7 @@ RUN set -ex \ && make -j${THREADS} install \ && rm -rf $(pwd) -RUN git clone -b libgpg-error-1.41 --depth 1 git://git.gnupg.org/libgpg-error.git \ +RUN git clone -b libgpg-error-1.41 --depth 1 https://dev.gnupg.org/source/libgpg-error.git \ && cd libgpg-error \ && git reset --hard 98032624ae89a67ee6fe3b1db5d95032e681d163 \ && ./autogen.sh \ @@ -188,7 +188,7 @@ RUN git clone -b libgpg-error-1.41 --depth 1 git://git.gnupg.org/libgpg-error.gi && make -j${THREADS} install \ && rm -rf $(pwd) -RUN git clone -b libgcrypt-1.10.1 --depth 1 git://git.gnupg.org/libgcrypt.git \ +RUN git clone -b libgcrypt-1.10.1 --depth 1 https://dev.gnupg.org/source/libgcrypt.git \ && cd libgcrypt \ && git reset --hard ae0e567820c37f9640440b3cff77d7c185aa6742 \ && ./autogen.sh \ diff --git a/Dockerfile.linux b/Dockerfile.linux index dc5795cf..1e08748b 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -188,20 +188,20 @@ RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-1.16.2.tar.gz && \ RUN rm /usr/lib/x86_64-linux-gnu/libX11.a && \ rm /usr/lib/x86_64-linux-gnu/libXext.a && \ rm /usr/lib/x86_64-linux-gnu/libX11-xcb.a && \ - git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 && \ cd qt5 && \ - git clone git://code.qt.io/qt/qtbase.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtdeclarative.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtgraphicaleffects.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtimageformats.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtmultimedia.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtquickcontrols.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtquickcontrols2.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtsvg.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qttools.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qttranslations.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtx11extras.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtxmlpatterns.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtbase.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtdeclarative.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtgraphicaleffects.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtimageformats.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtmultimedia.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtquickcontrols.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtquickcontrols2.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtsvg.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qttools.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qttranslations.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtx11extras.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtxmlpatterns.git -b ${QT_VERSION} --depth 1 && \ sed -ri s/\(Libs:.*\)/\\1\ -lexpat/ /usr/local/lib/pkgconfig/fontconfig.pc && \ sed -ri s/\(Libs:.*\)/\\1\ -lz/ /usr/local/lib/pkgconfig/freetype2.pc && \ sed -ri s/\(Libs:.*\)/\\1\ -lXau/ /usr/local/lib/pkgconfig/xcb.pc && \ @@ -251,7 +251,7 @@ RUN git clone -b v4.3.4 --depth 1 https://github.com/zeromq/libzmq && \ make -j$THREADS install && \ rm -rf $(pwd) -RUN git clone -b libgpg-error-1.45 --depth 1 git://git.gnupg.org/libgpg-error.git && \ +RUN git clone -b libgpg-error-1.45 --depth 1 https://dev.gnupg.org/source/libgpg-error.git && \ cd libgpg-error && \ git reset --hard dbac537e5e865fb6f3aa8596d213aa8c47a9dea1 && \ ./autogen.sh && \ @@ -260,7 +260,7 @@ RUN git clone -b libgpg-error-1.45 --depth 1 git://git.gnupg.org/libgpg-error.gi make -j$THREADS install && \ rm -rf $(pwd) -RUN git clone -b libgcrypt-1.10.1 --depth 1 git://git.gnupg.org/libgcrypt.git && \ +RUN git clone -b libgcrypt-1.10.1 --depth 1 https://dev.gnupg.org/source/libgcrypt.git && \ cd libgcrypt && \ git reset --hard ae0e567820c37f9640440b3cff77d7c185aa6742 && \ ./autogen.sh && \ diff --git a/Dockerfile.windows b/Dockerfile.windows index 07542705..2c760c68 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -21,19 +21,19 @@ RUN git clone -b v0.18.5.0 --depth 1 https://github.com/monero-project/monero && RUN make -j$THREADS -C /depends HOST=x86_64-w64-mingw32 NO_QT=1 -RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 && \ +RUN git clone https://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 && \ cd qt5 && \ - git clone git://code.qt.io/qt/qtbase.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtdeclarative.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtgraphicaleffects.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtimageformats.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtmultimedia.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtquickcontrols.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtquickcontrols2.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtsvg.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qttools.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qttranslations.git -b ${QT_VERSION} --depth 1 && \ - git clone git://code.qt.io/qt/qtxmlpatterns.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtbase.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtdeclarative.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtgraphicaleffects.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtimageformats.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtmultimedia.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtquickcontrols.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtquickcontrols2.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtsvg.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qttools.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qttranslations.git -b ${QT_VERSION} --depth 1 && \ + git clone https://code.qt.io/qt/qtxmlpatterns.git -b ${QT_VERSION} --depth 1 && \ ./configure --prefix=/depends/x86_64-w64-mingw32 -xplatform win32-g++ \ -device-option CROSS_COMPILE=/usr/bin/x86_64-w64-mingw32- \ -I $(pwd)/qtbase/src/3rdparty/angle/include \ @@ -58,7 +58,7 @@ RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 && \ cd ../../../.. && \ rm -rf $(pwd) -RUN git clone -b libgpg-error-1.38 --depth 1 git://git.gnupg.org/libgpg-error.git && \ +RUN git clone -b libgpg-error-1.38 --depth 1 https://dev.gnupg.org/source/libgpg-error.git && \ cd libgpg-error && \ git reset --hard 71d278824c5fe61865f7927a2ed1aa3115f9e439 && \ ./autogen.sh && \ @@ -69,7 +69,7 @@ RUN git clone -b libgpg-error-1.38 --depth 1 git://git.gnupg.org/libgpg-error.gi cd .. && \ rm -rf libgpg-error -RUN git clone -b libgcrypt-1.8.5 --depth 1 git://git.gnupg.org/libgcrypt.git && \ +RUN git clone -b libgcrypt-1.8.5 --depth 1 https://dev.gnupg.org/source/libgcrypt.git && \ cd libgcrypt && \ git reset --hard 56606331bc2a80536db9fc11ad53695126007298 && \ ./autogen.sh && \ diff --git a/src/libwalletqt/TransactionHistory.cpp b/src/libwalletqt/TransactionHistory.cpp index 764a3178..f5c3b752 100644 --- a/src/libwalletqt/TransactionHistory.cpp +++ b/src/libwalletqt/TransactionHistory.cpp @@ -36,6 +36,31 @@ #include <QWriteLocker> #include <QtGlobal> +namespace { + QString sanitizeCSVField(QString field) + { + field.remove(QChar('"')); + + if (field.isEmpty()) { + return field; + } + + const QChar first = field.at(0); + const bool needsPrefix = + first == QChar('=') || + first == QChar('+') || + first == QChar('-') || + first == QChar('@') || + first.isSpace() || + first.category() == QChar::Other_Control; + + if (needsPrefix) { + field.prepend(QChar('\'')); + } + + return field; + } +} bool TransactionHistory::transaction(int index, std::function<void (TransactionInfo &)> callback) { @@ -196,10 +221,8 @@ QString TransactionHistory::writeCSV(quint32 accountIndex, QString out) else { continue; // skip TransactionInfo::Direction_Both } - QString label = info.label(); - label.remove(QChar('"')); // reserved - QString description = info.description(); - description.remove(QChar('"')); // reserved + QString label = sanitizeCSVField(info.label()); + QString description = sanitizeCSVField(info.description()); quint64 blockHeight = info.blockHeight(); QDateTime timeStamp = info.timestamp(); QString date = info.date() + " " + info.time(); diff --git a/src/p2pool/P2PoolManager.cpp b/src/p2pool/P2PoolManager.cpp index c1e580e4..5d5d5a2e 100644 --- a/src/p2pool/P2PoolManager.cpp +++ b/src/p2pool/P2PoolManager.cpp @@ -55,21 +55,21 @@ void P2PoolManager::download() { QString fileName; QString validHash; #ifdef Q_OS_WIN - url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-windows-x64.zip"; - fileName = m_p2poolPath + "/p2pool-v4.16-windows-x64.zip"; - validHash = "8f619bf215e986f8b96526a1a279b83c84b569a0916c1d19713bfb616e78160a"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.17/p2pool-v4.17-windows-x64.zip"; + fileName = m_p2poolPath + "/p2pool-v4.17-windows-x64.zip"; + validHash = "4c07063d79dd9d273e7f31539878baf103e874b970609cd24a1cf5054f43d308"; #elif defined(Q_OS_LINUX) - url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-linux-x64.tar.gz"; - fileName = m_p2poolPath + "/p2pool-v4.16-linux-x64.tar.gz"; - validHash = "1b03b2e4d4adfe488b2867eb85b57366fbaf8594a7f84cdbf13a3c8519159280"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.17/p2pool-v4.17-linux-x64.tar.gz"; + fileName = m_p2poolPath + "/p2pool-v4.17-linux-x64.tar.gz"; + validHash = "d7e72f8b31a320d93bb12ea21e4a8bdcf3e94cce37f881be55a2071e7c29d2f5"; #elif defined(Q_OS_MACOS_AARCH64) - url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-macos-aarch64.tar.gz"; - fileName = m_p2poolPath + "/p2pool-v4.16-macos-aarch64.tar.gz"; - validHash = "8e1d8c10850015c50cc4955dc3b9681007f329d51325a3a55bde700298bcfaeb"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.17/p2pool-v4.17-macos-aarch64.tar.gz"; + fileName = m_p2poolPath + "/p2pool-v4.17-macos-aarch64.tar.gz"; + validHash = "8db3ace91438f7ac7d70a8dc5bcfdc9575648e49bca98fb1a6c06530ff6ef51a"; #elif defined(Q_OS_MACOS) - url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-macos-x64.tar.gz"; - fileName = m_p2poolPath + "/p2pool-v4.16-macos-x64.tar.gz"; - validHash = "573b6aa9b953fb5594f7eb21b1321a8d719e181b6814f931ce54b603dc6f0663"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.17/p2pool-v4.17-macos-x64.tar.gz"; + fileName = m_p2poolPath + "/p2pool-v4.17-macos-x64.tar.gz"; + validHash = "b3e13bcb2b2f2cdde0b306ba8e0be464edc01a490c9fedaba3fda1169c9b0620"; #endif QFile file(fileName); epee::net_utils::http::http_simple_client http_client; |
