X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b28fffc2825b807a26513f2ac5f34cb6e064acbf..18a14a834e4068917d97467a3a52f17ed6055da3:/methods/gpgv.cc diff --git a/methods/gpgv.cc b/methods/gpgv.cc index ba7389cba..2b1fa5169 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 { @@ -120,9 +121,9 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, // Redirect the pipe to the status fd (3) dup2(fd[1], 3); - putenv("LANG="); - putenv("LC_ALL="); - putenv("LC_MESSAGES="); + putenv((char *)"LANG="); + putenv((char *)"LC_ALL="); + putenv((char *)"LC_MESSAGES="); execvp(gpgvpath.c_str(), (char **)Args); exit(111); @@ -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);