+ string Label = Section.FindS("Label");
+ string StrDate = Section.FindS("Date");
+ string StrValidUntil = Section.FindS("Valid-Until");
+
+ // if we have a Valid-Until header, use it
+ if (!StrValidUntil.empty())
+ {
+ // set ValidUntil based on the information in the Release file
+ if(!StrToTime(StrValidUntil, ValidUntil))
+ {
+ ErrorText = _(("Invalid 'Valid-Until' entry in Release file " + 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(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;
+ }
+ }
+