X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/2ca0a410fadaa3c01d4573a87c074cb8e64a02c4..18a14a834e4068917d97467a3a52f17ed6055da3:/methods/gpgv.cc?ds=sidebyside

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);