diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2023-08-17 10:31:00 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2023-08-17 10:31:00 -0500 |
| commit | 866a7b3a78d13d65e97ca084d662d649698d4c85 (patch) | |
| tree | 6fede1b60fa2949b906da384d76928380aad3ad0 /src/p2pool/P2PoolManager.cpp | |
| parent | f342d46541da9b1a2de301049ee823e7478f9ce2 (diff) | |
| parent | 33310786dbb2e8817bfe4cac36b45069031d14bd (diff) | |
| download | monzero-gui-866a7b3a78d13d65e97ca084d662d649698d4c85.tar.gz monzero-gui-866a7b3a78d13d65e97ca084d662d649698d4c85.tar.xz monzero-gui-866a7b3a78d13d65e97ca084d662d649698d4c85.zip | |
Merge pull request #4147
3331078 p2pool: fix crash without network connection (selsta)
6ac8e7a p2pool: add more detailed failure message (selsta)
Diffstat (limited to 'src/p2pool/P2PoolManager.cpp')
| -rw-r--r-- | src/p2pool/P2PoolManager.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/p2pool/P2PoolManager.cpp b/src/p2pool/P2PoolManager.cpp index e4655c14..74391528 100644 --- a/src/p2pool/P2PoolManager.cpp +++ b/src/p2pool/P2PoolManager.cpp @@ -68,7 +68,10 @@ void P2PoolManager::download() { std::chrono::milliseconds timeout = std::chrono::seconds(10); http_client.set_server(url.host().toStdString(), "443", {}); bool success = http_client.invoke_get(url.path().toStdString(), timeout, {}, std::addressof(response), {{"User-Agent", userAgent}}); - if (response->m_response_code == 302) { + if (success && response->m_response_code == 404) { + emit p2poolDownloadFailure(BinaryNotAvailable); + return; + } else if (success && response->m_response_code == 302) { epee::net_utils::http::fields_list fields = response->m_header_info.m_etc_fields; for (std::pair<std::string, std::string> i : fields) { if (i.first == "Location") { @@ -82,7 +85,7 @@ void P2PoolManager::download() { } } if (!success) { - emit p2poolDownloadFailure(); + emit p2poolDownloadFailure(ConnectionIssue); } else { std::string stringData = response->m_body; @@ -90,7 +93,7 @@ void P2PoolManager::download() { QByteArray hashData = QCryptographicHash::hash(data, QCryptographicHash::Sha256); QString hash = hashData.toHex(); if (hash != validHash) { - emit p2poolDownloadFailure(); + emit p2poolDownloadFailure(HashVerificationFailed); } else { file.open(QIODevice::WriteOnly); @@ -102,7 +105,7 @@ void P2PoolManager::download() { emit p2poolDownloadSuccess(); } else { - emit p2poolDownloadFailure(); + emit p2poolDownloadFailure(InstallationFailed); } } } |
