summaryrefslogtreecommitdiff
path: root/apt-pkg/acquire-item.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2010-06-08 19:27:49 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2010-06-08 19:27:49 +0200
commit1ddb859611d2e0f3d9ea12085001810f689e8c99 (patch)
tree87399568a61da4d8bdd3b08bdc168462925ee1c4 /apt-pkg/acquire-item.cc
parent6dd8400ca787ef832d87121f304f98ad152dc3a6 (diff)
* apt-pkg/indexrecords.cc:
- backport forgotten Valid-Until patch from the obsolete experimental branch to prevent replay attacks better, thanks to Thomas Viehmann for the initial patch! (Closes: #499897)
Diffstat (limited to 'apt-pkg/acquire-item.cc')
-rw-r--r--apt-pkg/acquire-item.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index c035b9163..4a846804e 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -33,6 +33,7 @@
#include <string>
#include <sstream>
#include <stdio.h>
+#include <ctime>
/*}}}*/
using namespace std;
@@ -1177,6 +1178,15 @@ bool pkgAcqMetaIndex::VerifyVendor(string Message) /*{{{*/
Transformed = "";
}
+ if (_config->FindB("Acquire::Check-Valid-Until", true)) {
+ if (MetaIndexParser->GetValidUntil() > 0 &&
+ time(NULL) > MetaIndexParser->GetValidUntil()) {
+ return _error->Error(_("Release file expired, ignoring %s (valid until %s)"),
+ RealURI.c_str(),
+ TimeRFC1123(MetaIndexParser->GetValidUntil()).c_str());
+ }
+ }
+
if (_config->FindB("Debug::pkgAcquire::Auth", false))
{
std::cerr << "Got Codename: " << MetaIndexParser->GetDist() << std::endl;
@@ -1194,7 +1204,7 @@ bool pkgAcqMetaIndex::VerifyVendor(string Message) /*{{{*/
// return false;
if (!Transformed.empty())
{
- _error->Warning("Conflicting distribution: %s (expected %s but got %s)",
+ _error->Warning(_("Conflicting distribution: %s (expected %s but got %s)"),
Desc.Description.c_str(),
Transformed.c_str(),
MetaIndexParser->GetDist().c_str());