* honor "Acquire::gpgv::Options" in apt-cdrom too
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 6 Apr 2005 11:47:32 +0000 (11:47 +0000)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 6 Apr 2005 11:47:32 +0000 (11:47 +0000)
apt-pkg/indexcopy.cc
debian/changelog
po/apt-all.pot

index 4b6ac5c..7742638 100644 (file)
@@ -593,17 +593,41 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList,
 
       // verify the gpg signature of "Release"
       // gpg --verify "*I+Release.gpg", "*I+Release"
+      const char *Args[400];
+      unsigned int i = 0;
+
       string gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv");
       string pubringpath = _config->Find("Apt::GPGV::TrustedKeyring", "/etc/apt/trusted.gpg");
+      Args[i++] = gpgvpath.c_str();
+      Args[i++] = "--keyring";
+      Args[i++] = pubringpath.c_str();
+      Configuration::Item const *Opts;
+      Opts = _config->Tree("Acquire::gpgv::Options");
+      if (Opts != 0)
+      {
+         Opts = Opts->Child;
+        for (; Opts != 0; Opts = Opts->Next)
+         {
+            if (Opts->Value.empty() == true)
+               continue;
+            Args[i++] = Opts->Value.c_str();
+           if(i >= 390) { 
+              _error->Error("Argument list from Acquire::gpgv::Options too long. Exiting.");
+              return false;
+           }
+         }
+      }
+      Args[i++] = string(*I+"Release.gpg").c_str();
+      Args[i++] = string(*I+"Release").c_str();
+      Args[i++] = NULL;
+      
       pid_t pid = ExecFork();
       if(pid < 0) {
         _error->Error("Fork failed");
         return false;
       }
       if(pid == 0) {
-        execlp(gpgvpath.c_str(), gpgvpath.c_str(), "--keyring", 
-               pubringpath.c_str(), string(*I+"Release.gpg").c_str(), 
-               string(*I+"Release").c_str(), NULL);
+        execvp(gpgvpath.c_str(), (char**)Args);
       }
       if(!ExecWait(pid, "gpgv")) {
         _error->Warning("Signature verification failed for: %s",
index 0c46871..a30b64f 100644 (file)
@@ -5,6 +5,8 @@ apt (0.6.35ubuntu1) hoary; urgency=low
     re-get the Release.gpg file (for broken proxies)
   * debian/apt.cron.daily:
     MinAge is defaulting to 2 days now to prevent over-aggresive removal 
+  * apt-pkg/cdrom.cc:
+    - honor "Acquire::gpgv::Options" when verfiying the signature
  
  -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 31 Mar 2005 20:37:11 +0200
 
index bc687c5..b9232ca 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-03-06 12:50+0100\n"
+"POT-Creation-Date: 2005-04-06 13:03+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -303,7 +303,7 @@ msgid ""
 "  --no-delink Enable delinking debug mode\n"
 "  --contents  Control contents file generation\n"
 "  -c=?  Read this configuration file\n"
-"  -o=?  Set an arbitary configuration option"
+"  -o=?  Set an arbitrary configuration option"
 msgstr ""
 
 #: ftparchive/apt-ftparchive.cc:757
@@ -2251,31 +2251,31 @@ msgstr ""
 msgid "rename failed, %s (%s -> %s)."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:235 apt-pkg/acquire-item.cc:894
+#: apt-pkg/acquire-item.cc:235 apt-pkg/acquire-item.cc:900
 msgid "MD5Sum mismatch"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:708
+#: apt-pkg/acquire-item.cc:714
 #, c-format
 msgid ""
 "I wasn't able to locate a file for the %s package. This might mean you need "
 "to manually fix this package. (due to missing arch)"
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:761
+#: apt-pkg/acquire-item.cc:767
 #, c-format
 msgid ""
 "I wasn't able to locate file for the %s package. This might mean you need to "
 "manually fix this package."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:797
+#: apt-pkg/acquire-item.cc:803
 #, c-format
 msgid ""
 "The package index files are corrupted. No Filename: field for package %s."
 msgstr ""
 
-#: apt-pkg/acquire-item.cc:884
+#: apt-pkg/acquire-item.cc:890
 msgid "Size mismatch"
 msgstr ""