summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2010-06-08 22:55:42 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2010-06-08 22:55:42 +0200
commit0323317c08c0b08bf0ba1ac37a37a8de333cdb40 (patch)
tree30362e9c9952d785056ee278a09ccd54954a7853 /apt-pkg
parentcd8cf88f0e64e222e9fdcbf86e6cbbe09306040e (diff)
enhance the Valid-Until code a bit by using the correct RFC1123StrToTime
method and allow for better translations of the error messages
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/acquire-item.cc16
-rw-r--r--apt-pkg/indexrecords.cc24
2 files changed, 21 insertions, 19 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 4a846804e..ac84c2e5e 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1178,13 +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("Acquire::Check-Valid-Until", true) == true &&
+ MetaIndexParser->GetValidUntil() > 0) {
+ time_t const invalid_since = time(NULL) - MetaIndexParser->GetValidUntil();
+ if (invalid_since > 0)
+ // TRANSLATOR: The first %s is the URL of the bad Release file, the second is
+ // the time since then the file is invalid - formated in the same way as in
+ // the download progress display (e.g. 7d 3h 42min 1s)
+ return _error->Error(_("Release file expired, ignoring %s (invalid since %s)"),
+ RealURI.c_str(), TimeToStr(invalid_since).c_str());
}
if (_config->FindB("Debug::pkgAcquire::Auth", false))
diff --git a/apt-pkg/indexrecords.cc b/apt-pkg/indexrecords.cc
index 24ed02ba5..1312e6818 100644
--- a/apt-pkg/indexrecords.cc
+++ b/apt-pkg/indexrecords.cc
@@ -91,30 +91,30 @@ bool indexRecords::Load(const string Filename) /*{{{*/
}
string Label = Section.FindS("Label");
- string StrDate = Section.FindS("Date");
+ string StrDate = Section.FindS("Date");
string StrValidUntil = Section.FindS("Valid-Until");
// if we have a Valid-Until header, use it
- if (!StrValidUntil.empty())
+ if (StrValidUntil.empty() == false)
{
// set ValidUntil based on the information in the Release file
- if(!StrToTime(StrValidUntil, ValidUntil))
+ if(RFC1123StrToTime(StrValidUntil.c_str(), ValidUntil) == false)
{
- ErrorText = _(("Invalid 'Valid-Until' entry in Release file " + Filename).c_str());
+ strprintf(ErrorText, _("Invalid 'Valid-Until' entry in Release file %s"), Filename.c_str());
return false;
}
} else {
// if we don't have a valid-until string, check if we have a default
- if (!Label.empty())
+ int MaxAge = _config->FindI("APT::Acquire::Max-Default-Age", 0);
+ if (Label.empty() == true)
+ MaxAge = _config->FindI(string("APT::Acquire::Max-Default-Age::"+Label).c_str(), MaxAge);
+
+ if(MaxAge > 0 && RFC1123StrToTime(StrDate.c_str(), ValidUntil) == false)
{
- int MaxAge = _config->FindI(string("apt::acquire::max-default-age::"+Label).c_str(),0);
- if(MaxAge > 0 && !StrToTime(StrDate, ValidUntil))
- {
- ErrorText = _(("Invalid 'Date' entry in Release file " + Filename).c_str());
- return false;
- }
- ValidUntil += 24*60*60*MaxAge;
+ strprintf(ErrorText, _("Invalid 'Date' entry in Release file %s"), Filename.c_str());
+ return false;
}
+ ValidUntil += 24*60*60*MaxAge;
}
return true;