aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/src/qgpgmewkdlookupjob.cpp
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2021-12-14 13:49:39 +0000
committerIngo Klöcker <[email protected]>2021-12-14 13:49:39 +0000
commitaf820811ec7d0818f988cd728d745cede88ab45f (patch)
tree70979f73d29a609813fa6d9b8f17e151919ded6c /lang/qt/src/qgpgmewkdlookupjob.cpp
parentcore: Set --key-origin option only if supported by gpg (diff)
downloadgpgme-af820811ec7d0818f988cd728d745cede88ab45f.tar.gz
gpgme-af820811ec7d0818f988cd728d745cede88ab45f.zip
qt: Add pattern used for WKD lookup to result
* lang/qt/src/qgpgmewkdlookupjob.cpp (run_wkd_get): Change type of arg email. (lookup_keys): Add pattern to result. * lang/qt/src/wkdlookupresult.h (class WKDLookupResult): Add arg pattern to c'tors. Add member function pattern. * lang/qt/src/wkdlookupresult.cpp (class WKDLookupResult::Private): Add field pattern. (WKDLookupResult::WKDLookupResult): Pass pattern to pimpl. (WKDLookupResult::pattern): New. * lang/qt/tests/t-wkdlookup.cpp (testWKDLookupAsync, testWKDLookupSync, testLookupWithNoResultAsync): Check pattern. -- GnuPG-bug-id: 5728
Diffstat (limited to 'lang/qt/src/qgpgmewkdlookupjob.cpp')
-rw-r--r--lang/qt/src/qgpgmewkdlookupjob.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/lang/qt/src/qgpgmewkdlookupjob.cpp b/lang/qt/src/qgpgmewkdlookupjob.cpp
index fcb757e1..b8622167 100644
--- a/lang/qt/src/qgpgmewkdlookupjob.cpp
+++ b/lang/qt/src/qgpgmewkdlookupjob.cpp
@@ -118,11 +118,11 @@ static GpgME::Error setUpDirmngrAssuanConnection(Context *ctx)
return err;
}
-static GpgME::Error run_wkd_get(Context *ctx, const QString &email)
+static GpgME::Error run_wkd_get(Context *ctx, const std::string &email)
{
Error err;
- const auto cmd = std::string{"WKD_GET "} + email.toUtf8().toStdString();
+ const auto cmd = std::string{"WKD_GET "} + email;
err = ctx->assuanTransact(cmd.c_str());
if (err.code() == GPG_ERR_NO_NAME || err.code() == GPG_ERR_NO_DATA) {
// ignore those benign errors; GPG_ERR_NO_NAME indicates that the domain
@@ -146,8 +146,9 @@ static QGpgMEWKDLookupJob::result_type lookup_keys(Context *ctx, const QString &
Error err = setUpDirmngrAssuanConnection(ctx);
+ const auto pattern = email.toUtf8().toStdString();
if (!err) {
- err = run_wkd_get(ctx, email);
+ err = run_wkd_get(ctx, pattern);
}
if (!err) {
@@ -156,14 +157,14 @@ static QGpgMEWKDLookupJob::result_type lookup_keys(Context *ctx, const QString &
const auto rawData = transaction->data();
if (rawData.size() == 0) {
qCDebug(QGPGME_LOG) << "No key found for" << email;
- result = WKDLookupResult{GpgME::Data::null, {}, {}};
+ result = WKDLookupResult{pattern, GpgME::Data::null, {}, {}};
} else {
qCDebug(QGPGME_LOG) << "Found key for" << email << "at" << source.c_str();
- result = WKDLookupResult{GpgME::Data{rawData.c_str(), rawData.size()}, source, {}};
+ result = WKDLookupResult{pattern, GpgME::Data{rawData.c_str(), rawData.size()}, source, {}};
}
}
- return std::make_tuple(err ? WKDLookupResult{err} : result, QString{}, Error{});
+ return std::make_tuple(err ? WKDLookupResult{pattern, err} : result, QString{}, Error{});
}
Error QGpgMEWKDLookupJob::start(const QString &email)