aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-02-26 12:38:30 +0000
committersaturneric <[email protected]>2024-02-26 12:38:30 +0000
commit59cdf57e8f807a0fe2505837e2eed5871ea281c8 (patch)
tree420cc23dc12ca947e39906981c8814e04b51e0c4
parentfix: add English translation (diff)
downloadGpgFrontend-59cdf57e8f807a0fe2505837e2eed5871ea281c8.tar.gz
GpgFrontend-59cdf57e8f807a0fe2505837e2eed5871ea281c8.zip
feat: add user agent header when doing http request
-rw-r--r--CMakeLists.txt11
-rw-r--r--src/GpgFrontendBuildInfo.h.in8
-rw-r--r--src/module/integrated/version_checking_module/VersionCheckTask.cpp12
-rw-r--r--src/ui/UserInterfaceUtils.cpp7
-rw-r--r--src/ui/dialog/import_export/KeyUploadDialog.cpp2
-rw-r--r--src/ui/thread/KeyServerImportTask.cpp7
-rw-r--r--src/ui/thread/KeyServerSearchTask.cpp7
-rw-r--r--src/ui/thread/ListedKeyServerTestTask.cpp8
-rw-r--r--src/ui/thread/ProxyConnectionTestTask.cpp7
9 files changed, 59 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3230a908..eae20641 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -250,6 +250,10 @@ IF (MINGW)
${CMAKE_SOURCE_DIR}/lib/mingw
/mingw64/lib
)
+
+ # Http Request User Agent
+ set(HTTP_REQUEST_USER_AGENT "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0")
+
endif ()
# macOS
@@ -277,6 +281,10 @@ if (APPLE)
/usr/local/lib
/opt/homebrew/lib
)
+
+ # Http Request User Agent
+ set(HTTP_REQUEST_USER_AGENT "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.3; rv:123.0) Gecko/20100101 Firefox/123.0")
+
endif ()
if (UNIX AND NOT APPLE)
@@ -319,6 +327,9 @@ if (LINUX)
/usr/local/lib/
)
+ # Http Request User Agent
+ set(HTTP_REQUEST_USER_AGENT "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0")
+
endif ()
if (LINUX_INSTALL_SOFTWARE)
diff --git a/src/GpgFrontendBuildInfo.h.in b/src/GpgFrontendBuildInfo.h.in
index c6242b1e..37338de0 100644
--- a/src/GpgFrontendBuildInfo.h.in
+++ b/src/GpgFrontendBuildInfo.h.in
@@ -52,4 +52,10 @@
*/
#define BUILD_FLAG "@BUILD_FLAG@"
#define BUILD_TIMESTAMP "@BUILD_TIMESTAMP@"
-#define APP_INSTALL_FLAG "@APP_INSTALL_FLAG@" \ No newline at end of file
+#define APP_INSTALL_FLAG "@APP_INSTALL_FLAG@"
+
+/**
+ * @brief Network
+ *
+ */
+#define HTTP_REQUEST_USER_AGENT "@HTTP_REQUEST_USER_AGENT@" \ No newline at end of file
diff --git a/src/module/integrated/version_checking_module/VersionCheckTask.cpp b/src/module/integrated/version_checking_module/VersionCheckTask.cpp
index 83844af8..e81fc92d 100644
--- a/src/module/integrated/version_checking_module/VersionCheckTask.cpp
+++ b/src/module/integrated/version_checking_module/VersionCheckTask.cpp
@@ -50,8 +50,10 @@ auto VersionCheckTask::Run() -> int {
QString latest_version_url =
"https://api.github.com/repos/saturneric/gpgfrontend/releases/latest";
- QNetworkRequest latest_request;
- latest_request.setUrl(QUrl(latest_version_url));
+ QNetworkRequest latest_request(latest_version_url);
+ latest_request.setHeader(QNetworkRequest::UserAgentHeader,
+ HTTP_REQUEST_USER_AGENT);
+
latest_reply_ = network_manager_->get(latest_request);
connect(latest_reply_, &QNetworkReply::finished, this,
&VersionCheckTask::slot_parse_latest_version_info);
@@ -109,8 +111,10 @@ void VersionCheckTask::slot_parse_latest_version_info() {
current_version_;
MODULE_LOG_DEBUG("current version info query url: {}", current_version_url);
- QNetworkRequest current_request;
- current_request.setUrl(QUrl(current_version_url));
+ QNetworkRequest current_request(current_version_url);
+ current_request.setHeader(QNetworkRequest::UserAgentHeader,
+ HTTP_REQUEST_USER_AGENT);
+
current_reply_ = network_manager_->get(current_request);
connect(current_reply_, &QNetworkReply::finished, this,
diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp
index ab8aeac9..9daca57b 100644
--- a/src/ui/UserInterfaceUtils.cpp
+++ b/src/ui/UserInterfaceUtils.cpp
@@ -30,6 +30,7 @@
#include <cstddef>
+#include "GpgFrontendBuildInfo.h"
#include "core/GpgConstants.h"
#include "core/function/CoreSignalStation.h"
#include "core/function/gpg/GpgKeyGetter.h"
@@ -428,7 +429,11 @@ void CommonUtils::SlotImportKeyFromKeyServer(
GF_UI_LOG_DEBUG("request url: {}", req_url.toString());
// Waiting for reply
- QNetworkReply *reply = network_manager->get(QNetworkRequest(req_url));
+ auto request = QNetworkRequest(req_url);
+ request.setHeader(QNetworkRequest::UserAgentHeader,
+ HTTP_REQUEST_USER_AGENT);
+
+ QNetworkReply *reply = network_manager->get(request);
QEventLoop loop;
connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
loop.exec();
diff --git a/src/ui/dialog/import_export/KeyUploadDialog.cpp b/src/ui/dialog/import_export/KeyUploadDialog.cpp
index f59f9daa..0e0dca4d 100644
--- a/src/ui/dialog/import_export/KeyUploadDialog.cpp
+++ b/src/ui/dialog/import_export/KeyUploadDialog.cpp
@@ -30,6 +30,7 @@
#include <QtNetwork>
+#include "GpgFrontendBuildInfo.h"
#include "core/GpgModel.h"
#include "core/function/gpg/GpgKeyGetter.h"
#include "core/function/gpg/GpgKeyImportExporter.h"
@@ -115,6 +116,7 @@ void KeyUploadDialog::slot_upload_key_to_server(
data.replace(" ", "+");
QNetworkRequest request(req_url);
+ request.setHeader(QNetworkRequest::UserAgentHeader, HTTP_REQUEST_USER_AGENT);
request.setHeader(QNetworkRequest::ContentTypeHeader,
"application/x-www-form-urlencoded");
diff --git a/src/ui/thread/KeyServerImportTask.cpp b/src/ui/thread/KeyServerImportTask.cpp
index 63cabbcd..c908f5d7 100644
--- a/src/ui/thread/KeyServerImportTask.cpp
+++ b/src/ui/thread/KeyServerImportTask.cpp
@@ -28,6 +28,7 @@
#include "ui/thread/KeyServerImportTask.h"
+#include "GpgFrontendBuildInfo.h"
#include "core/function/gpg/GpgKeyImportExporter.h"
#include "ui/struct/SettingsObject.h"
#include "ui/struct/settings/KeyServerSO.h"
@@ -54,7 +55,11 @@ auto GpgFrontend::UI::KeyServerImportTask::Run() -> int {
QUrl const req_url(keyserver_url.scheme() + "://" + keyserver_url.host() +
"/pks/lookup?op=get&search=0x" + key_id + "&options=mr");
- reply_ = manager_->get(QNetworkRequest(req_url));
+ auto request = QNetworkRequest(req_url);
+ request.setHeader(QNetworkRequest::UserAgentHeader,
+ HTTP_REQUEST_USER_AGENT);
+
+ reply_ = manager_->get(request);
connect(reply_, &QNetworkReply::finished, this,
&KeyServerImportTask::dealing_reply_from_server);
}
diff --git a/src/ui/thread/KeyServerSearchTask.cpp b/src/ui/thread/KeyServerSearchTask.cpp
index 2f05b774..eb650c4b 100644
--- a/src/ui/thread/KeyServerSearchTask.cpp
+++ b/src/ui/thread/KeyServerSearchTask.cpp
@@ -28,6 +28,8 @@
#include "ui/thread/KeyServerSearchTask.h"
+#include "GpgFrontendBuildInfo.h"
+
GpgFrontend::UI::KeyServerSearchTask::KeyServerSearchTask(QString keyserver_url,
QString search_string)
: Task("key_server_search_task"),
@@ -42,7 +44,10 @@ auto GpgFrontend::UI::KeyServerSearchTask::Run() -> int {
"/pks/lookup?search=" + search_string_ +
"&op=index&options=mr";
- reply_ = manager_->get(QNetworkRequest(url_from_remote));
+ auto request = QNetworkRequest(url_from_remote);
+ request.setHeader(QNetworkRequest::UserAgentHeader, HTTP_REQUEST_USER_AGENT);
+
+ reply_ = manager_->get(request);
connect(reply_, &QNetworkReply::finished, this,
&KeyServerSearchTask::dealing_reply_from_server);
diff --git a/src/ui/thread/ListedKeyServerTestTask.cpp b/src/ui/thread/ListedKeyServerTestTask.cpp
index f50a66ab..15ea959f 100644
--- a/src/ui/thread/ListedKeyServerTestTask.cpp
+++ b/src/ui/thread/ListedKeyServerTestTask.cpp
@@ -31,6 +31,8 @@
#include <QtNetwork>
#include <vector>
+#include "GpgFrontendBuildInfo.h"
+
GpgFrontend::UI::ListedKeyServerTestTask::ListedKeyServerTestTask(
QStringList urls, int timeout, QWidget* /*parent*/)
: Task("listed_key_server_test_task"),
@@ -49,7 +51,11 @@ auto GpgFrontend::UI::ListedKeyServerTestTask::Run() -> int {
auto key_url = QUrl{url};
GF_UI_LOG_DEBUG("key server request: {}", key_url.host());
- auto* network_reply = network_manager_->get(QNetworkRequest{key_url});
+ auto request = QNetworkRequest(key_url);
+ request.setHeader(QNetworkRequest::UserAgentHeader,
+ HTTP_REQUEST_USER_AGENT);
+
+ auto* network_reply = network_manager_->get(request);
auto* timer = new QTimer(this);
connect(network_reply, &QNetworkReply::finished, this,
diff --git a/src/ui/thread/ProxyConnectionTestTask.cpp b/src/ui/thread/ProxyConnectionTestTask.cpp
index b681ca6d..003205e5 100644
--- a/src/ui/thread/ProxyConnectionTestTask.cpp
+++ b/src/ui/thread/ProxyConnectionTestTask.cpp
@@ -30,6 +30,8 @@
#include <QtNetwork>
+#include "GpgFrontendBuildInfo.h"
+
GpgFrontend::UI::ProxyConnectionTestTask::ProxyConnectionTestTask(QString url,
int timeout)
: Task("proxy_connection_test_task"),
@@ -40,7 +42,10 @@ GpgFrontend::UI::ProxyConnectionTestTask::ProxyConnectionTestTask(QString url,
}
auto GpgFrontend::UI::ProxyConnectionTestTask::Run() -> int {
- auto* network_reply = network_manager_->get(QNetworkRequest{url_});
+ auto request = QNetworkRequest(url_);
+ request.setHeader(QNetworkRequest::UserAgentHeader, HTTP_REQUEST_USER_AGENT);
+
+ auto* network_reply = network_manager_->get(request);
auto* timer = new QTimer(this);
connect(network_reply, &QNetworkReply::finished, this,