diff options
| author | Julian Andres Klode <julian.klode@canonical.com> | 2025-01-22 09:34:37 +0100 |
|---|---|---|
| committer | Julian Andres Klode <julian.klode@canonical.com> | 2025-01-22 09:55:11 +0100 |
| commit | 09c76cb29b61e1d523a30287f8a9bf0cb0b608e7 (patch) | |
| tree | 9414ac9ba3395e04a55c1ebb99405f36e48ed500 /methods | |
| parent | 61f8f40f921cde13c5b97abbdf900646745e8e30 (diff) | |
sqv, gpgv: Do not fail if Dir::Etc::Trusted is set and trusted.gpg.d is missing
This should remain a warning case for now. So push the errors
to a stack and see if we can find any file.
Explictly warn again if Dir::Etc::trusted is set, as it is like
_super_ deprecated.
Reported-By: Cyril Brulebois <kibi@debian.org> in Bug#1032131
Diffstat (limited to 'methods')
| -rw-r--r-- | methods/sqv.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/methods/sqv.cc b/methods/sqv.cc index 9dbe75994..3191752cc 100644 --- a/methods/sqv.cc +++ b/methods/sqv.cc @@ -132,9 +132,20 @@ bool SQVMethod::VerifyGetSigners(const char *file, const char *outfile, }; if (keyFiles.empty()) { + // Either trusted or trustedparts must exist + _error->PushToStack(); auto Parts = GetListOfFilesInDir(_config->FindDir("Dir::Etc::TrustedParts"), std::vector<std::string>{"gpg", "asc"}, true); if (auto trusted = _config->FindFile("Dir::Etc::Trusted"); not trusted.empty()) + { + std::string s; + strprintf(s, "Loading %s from deprecated option Dir::Etc::Trusted\n", trusted.c_str()); + Warning(std::move(s)); Parts.push_back(trusted); + } + if (Parts.empty()) + _error->MergeWithStack(); + else + _error->RevertToStack(); for (auto &Part : Parts) { if (Debug) |
