summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog3
-rw-r--r--methods/gpgv.cc8
2 files changed, 10 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index ae12ac8d1..8a0093dcb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,9 @@ apt (0.6.45) unstable; urgency=low
messages (first half of a fix for #374195)
* doc/examples/configure-index:
- document Debug::pkgAcquire::Auth
+ * methods/gpgv.cc:
+ - deal with gpg error "NODATA". Closes: #296103, Thanks to
+ Luis Rodrigo Gallardo Cruz for the patch
* Merged from Christian Perrier bzr branch:
* ko.po: Updated to 512t. Closes: #378901
* hu.po: Updated to 512t. Closes: #376330
diff --git a/methods/gpgv.cc b/methods/gpgv.cc
index ba7389cba..227e08d63 100644
--- a/methods/gpgv.cc
+++ b/methods/gpgv.cc
@@ -17,6 +17,7 @@
#define GNUPGBADSIG "[GNUPG:] BADSIG"
#define GNUPGNOPUBKEY "[GNUPG:] NO_PUBKEY"
#define GNUPGVALIDSIG "[GNUPG:] VALIDSIG"
+#define GNUPGNODATA "[GNUPG:] NODATA"
class GPGVMethod : public pkgAcqMethod
{
@@ -171,7 +172,12 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile,
std::cerr << "Got NO_PUBKEY " << std::endl;
NoPubKeySigners.push_back(string(buffer+sizeof(GNUPGPREFIX)));
}
-
+ if (strncmp(buffer, GNUPGNODATA, sizeof(GNUPGBADSIG)-1) == 0)
+ {
+ if (_config->FindB("Debug::Acquire::gpgv", false))
+ std::cerr << "Got NODATA! " << std::endl;
+ BadSigners.push_back(string(buffer+sizeof(GNUPGPREFIX)));
+ }
if (strncmp(buffer, GNUPGVALIDSIG, sizeof(GNUPGVALIDSIG)-1) == 0)
{
char *sig = buffer + sizeof(GNUPGPREFIX);