|
|
@@ -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;
|