summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Zimmerman <matt.zimmerman@canonical.com>2005-04-06 16:44:08 +0000
committerMatt Zimmerman <matt.zimmerman@canonical.com>2005-04-06 16:44:08 +0000
commit3e79ad48cd780defe869c6caf47dd338a9f5b984 (patch)
treea05b0e6fee5624ea6a6c970a0f39487bb8078b81
parent0edc7fba37048fa7c9833d664c4231ee9ad2be40 (diff)
parent6ead9d25018d517cd6cfe27399b7fd7e33c1ef19 (diff)
Merge apt--mvo--0
Patches applied: * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-14 * changelog entry for 0.6.34ubuntu1 added, MinAge default is 2 days now * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-15 * merged with matts tree * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-16 * changelog updated * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-17 * whitespace change to add incomplete log for last patch * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-18 * honor "Acquire::gpgv::Options" in apt-cdrom too * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-19 * corrected a incorrect use of string().c_str() (thanks to mdz!)
-rw-r--r--apt-pkg/acquire-item.cc6
-rw-r--r--apt-pkg/indexcopy.cc34
-rw-r--r--configure.in2
-rw-r--r--debian/apt.cron.daily2
-rw-r--r--debian/changelog12
-rw-r--r--po/apt-all.pot14
6 files changed, 58 insertions, 12 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 714edd8d8..b2f896627 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -340,6 +340,12 @@ pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire *Owner,
// File was already in place. It needs to be re-verified
// because Release might have changed, so Move it into partial
Rename(Final,DestFile);
+ // unlink the file and do not try to use I-M-S and Last-Modified
+ // if the users proxy is broken
+ if(_config->FindB("Acquire::BrokenProxy", false) == true) {
+ std::cerr << "forcing re-get of the signature file as requested" << std::endl;
+ unlink(DestFile.c_str());
+ }
}
QueueURI(Desc);
diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc
index 4b6ac5ce0..1f65062f7 100644
--- a/apt-pkg/indexcopy.cc
+++ b/apt-pkg/indexcopy.cc
@@ -593,17 +593,45 @@ 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");
+ string releasegpg = *I+"Release.gpg";
+ string release = *I+"Release";
+
+ 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++] = releasegpg.c_str();
+ Args[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",
diff --git a/configure.in b/configure.in
index 3c5d6d69d..e17a126ba 100644
--- a/configure.in
+++ b/configure.in
@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.6.35")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.35ubuntu1")
PACKAGE="apt"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_SUBST(PACKAGE)
diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily
index 7ee7e46db..5145a5d2f 100644
--- a/debian/apt.cron.daily
+++ b/debian/apt.cron.daily
@@ -74,7 +74,7 @@ check_size_constraints()
{
# min-age in days
MaxAge=0
- MinAge=1
+ MinAge=2
MaxSize=0
CacheDir="var/cache/apt"
CacheArchive="archives/"
diff --git a/debian/changelog b/debian/changelog
index 1820b2cbf..a30b64f3c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+apt (0.6.35ubuntu1) hoary; urgency=low
+
+ * apt-pkg/acquire-item.cc:
+ added "Acquire::BrokenProxy" that will force apt to always
+ 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
+
apt (0.6.35) hoary; urgency=low
* Merge apt--mvo--0 (incorporates 0.6.34ubuntu1):
diff --git a/po/apt-all.pot b/po/apt-all.pot
index bc687c55f..b9232cac4 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -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 ""