diff options
author | Ingo Klöcker <[email protected]> | 2021-12-14 13:49:39 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2021-12-14 13:49:39 +0000 |
commit | af820811ec7d0818f988cd728d745cede88ab45f (patch) | |
tree | 70979f73d29a609813fa6d9b8f17e151919ded6c /lang/qt/src/qgpgmewkdlookupjob.cpp | |
parent | core: Set --key-origin option only if supported by gpg (diff) | |
download | gpgme-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.cpp | 13 |
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) |