diff options
author | Matt Zimmerman <matt.zimmerman@canonical.com> | 2005-04-06 16:44:08 +0000 |
---|---|---|
committer | Matt Zimmerman <matt.zimmerman@canonical.com> | 2005-04-06 16:44:08 +0000 |
commit | 3e79ad48cd780defe869c6caf47dd338a9f5b984 (patch) | |
tree | a05b0e6fee5624ea6a6c970a0f39487bb8078b81 | |
parent | 0edc7fba37048fa7c9833d664c4231ee9ad2be40 (diff) | |
parent | 6ead9d25018d517cd6cfe27399b7fd7e33c1ef19 (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.cc | 6 | ||||
-rw-r--r-- | apt-pkg/indexcopy.cc | 34 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | debian/apt.cron.daily | 2 | ||||
-rw-r--r-- | debian/changelog | 12 | ||||
-rw-r--r-- | po/apt-all.pot | 14 |
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 "" |