Procházet zdrojové kódy

* apt-pkg/indexcopy.cc:
- only use trusted.gpg.d directory if it exists
- do not replace /dev/null when running in APT::CDROM::NoAct
mode (LP: #612666), thanks to Colin Watson

Michael Vogt před 16 roky
rodič
revize
92e85e0b78
2 změnil soubory, kde provedl 19 přidání a 3 odebrání
  1. 10 3
      apt-pkg/indexcopy.cc
  2. 9 0
      debian/changelog

+ 10 - 3
apt-pkg/indexcopy.cc

@@ -132,9 +132,14 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
 	       (*I).c_str() + CDROM.length(),GetFileName());
       string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
       TargetF += URItoFileName(S);
+      FileFd Target;
       if (_config->FindB("APT::CDROM::NoAct",false) == true)
+      {
 	 TargetF = "/dev/null";
-      FileFd Target(TargetF,FileFd::WriteAtomic);
+         Target.Open(TargetF,FileFd::WriteExists);
+      } else {
+         Target.Open(TargetF,FileFd::WriteAtomic);
+      }
       FILE *TargetFl = fdopen(dup(Target.Fd()),"w");
       if (_error->PendingError() == true)
 	 return false;
@@ -673,9 +678,11 @@ bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG,
       std::clog << "Keyring path: " << trustedPath << std::endl;
    }
 
-   std::vector<string> keyrings = GetListOfFilesInDir(trustedPath, "gpg", false);
+   std::vector<string> keyrings;
+   if (DirectoryExists(trustedPath))
+     keyrings = GetListOfFilesInDir(trustedPath, "gpg", false, true);
    if (FileExists(trustedFile) == true)
-      keyrings.push_back(trustedFile);
+     keyrings.push_back(trustedFile);
 
    std::vector<const char *> Args;
    Args.reserve(30);

+ 9 - 0
debian/changelog

@@ -1,3 +1,12 @@
+apt (0.8.3) UNRELEASED; urgency=low
+
+  * apt-pkg/indexcopy.cc:
+    - only use trusted.gpg.d directory if it exists
+    - do not replace /dev/null when running in APT::CDROM::NoAct
+      mode (LP: #612666), thanks to Colin Watson
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 07 Sep 2010 10:02:02 +0200
+
 apt (0.8.2) unstable; urgency=low
 
   [ Manpages translations ]