]> git.saurik.com Git - apt.git/commitdiff
support Signed-By in Release files as a sort of HPKP
authorDavid Kalnischkies <david@kalnischkies.de>
Fri, 29 Apr 2016 14:48:16 +0000 (16:48 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Sun, 1 May 2016 08:50:24 +0000 (10:50 +0200)
Users have the option since apt >= 1.1 to enforce that a Release file is
signed with specific key(s) either via keyring filename or fingerprints.
This commit adds an entry with the same name and value (except that it
doesn't accept filenames for obvious reasons) to the Release file so
that the repository owner can set a default value for this setting
effecting the *next* Release file, not the current one, which provides a
functionality similar "HTTP Public Key Pinning". The pinning is in
effect as long as the (then old) Release file is considered valid, but
it is also ignored if the Release file has no Valid-Until at all.

46 files changed:
apt-pkg/deb/debmetaindex.cc
doc/sources.list.5.xml
po/apt-all.pot
po/ar.po
po/ast.po
po/bg.po
po/bs.po
po/ca.po
po/cs.po
po/cy.po
po/da.po
po/de.po
po/dz.po
po/el.po
po/es.po
po/eu.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/it.po
po/ja.po
po/ko.po
po/ku.po
po/lt.po
po/mr.po
po/nb.po
po/ne.po
po/nl.po
po/nn.po
po/pl.po
po/pt.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sv.po
po/th.po
po/tl.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po
po/zh_TW.po
test/integration/test-releasefile-verification

index 5b84ea5e8b119205e410671582e18fdd86179937..d152eaf6803a3821ec089b1ea1afac2c90469268 100644 (file)
@@ -442,7 +442,7 @@ bool debReleaseIndex::Load(std::string const &Filename, std::string * const Erro
    std::string const StrDate = Section.FindS("Date");
    if (RFC1123StrToTime(StrDate.c_str(), Date) == false)
    {
-      _error->Warning( _("Invalid 'Date' entry in Release file %s"), Filename.c_str());
+      _error->Warning( _("Invalid '%s' entry in Release file %s"), "Date", Filename.c_str());
       Date = 0;
    }
 
@@ -463,7 +463,7 @@ bool debReleaseIndex::Load(std::string const &Filename, std::string * const Erro
         if(RFC1123StrToTime(StrValidUntil.c_str(), ValidUntil) == false)
         {
            if (ErrorText != NULL)
-              strprintf(*ErrorText, _("Invalid 'Valid-Until' entry in Release file %s"), Filename.c_str());
+              strprintf(*ErrorText, _("Invalid '%s' entry in Release file %s"), "Valid-Until", Filename.c_str());
            return false;
         }
       }
@@ -498,6 +498,33 @@ bool debReleaseIndex::Load(std::string const &Filename, std::string * const Erro
       }
    }
 
+   /* as the Release file is parsed only after it was verified, the Signed-By field
+      does not effect the current, but the "next" Release file */
+   auto Sign = Section.FindS("Signed-By");
+   if (Sign.empty() == false)
+   {
+      std::transform(Sign.begin(), Sign.end(), Sign.begin(), [&](char const c) {
+        return (isspace(c) == 0) ? c : ',';
+      });
+      auto fingers = VectorizeString(Sign, ',');
+      std::transform(fingers.begin(), fingers.end(), fingers.begin(), [&](std::string finger) {
+        std::transform(finger.begin(), finger.end(), finger.begin(), ::toupper);
+        if (finger.length() != 40 || finger.find_first_not_of("0123456789ABCDEF") != std::string::npos)
+        {
+           if (ErrorText != NULL)
+              strprintf(*ErrorText, _("Invalid '%s' entry in Release file %s"), "Signed-By", Filename.c_str());
+           return std::string();
+        }
+        return finger;
+      });
+      if (fingers.empty() == false && std::find(fingers.begin(), fingers.end(), "") == fingers.end())
+      {
+        std::stringstream os;
+        std::copy(fingers.begin(), fingers.end(), std::ostream_iterator<std::string>(os, ","));
+        SignedBy = os.str();
+      }
+   }
+
    LoadedSuccessfully = TRI_YES;
    return true;
 }
@@ -956,7 +983,30 @@ class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type              /*{{{*/
       std::map<std::string, std::string>::const_iterator const signedby = Options.find("signed-by");
       if (signedby == Options.end())
       {
-        if (Deb->SetSignedBy("") == false)
+        bool alreadySet = false;
+        std::string filename;
+        if (ReleaseFileName(Deb, filename))
+        {
+           auto OldDeb = Deb->UnloadedClone();
+           _error->PushToStack();
+           OldDeb->Load(filename, nullptr);
+           bool const goodLoad = _error->PendingError() == false;
+           _error->RevertToStack();
+           if (goodLoad)
+           {
+              if (OldDeb->GetValidUntil() > 0)
+              {
+                 time_t const invalid_since = time(NULL) - OldDeb->GetValidUntil();
+                 if (invalid_since <= 0)
+                 {
+                    Deb->SetSignedBy(OldDeb->GetSignedBy());
+                    alreadySet = true;
+                 }
+              }
+           }
+           delete OldDeb;
+        }
+        if (alreadySet == false && Deb->SetSignedBy("") == false)
            return false;
       }
       else
index 07455735f40230bc2514edf12707673d52a72756..e8d88921d3954776984a87616f46c8c2289bca99 100644 (file)
@@ -291,8 +291,10 @@ deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [.
                (see <command>apt-key fingerprint</command>). If the option is
                set, only the key(s) in this keyring or only the keys with these
                fingerprints are used for the &apt-secure; verification of this
-               repository. Otherwise all keys in the trusted keyrings are
-               considered valid signers for this repository.
+               repository. Defaults to the value of the option with the same name
+               if set in the previously acquired <filename>Release</filename> file.
+               Otherwise all keys in the trusted keyrings are considered valid
+               signers for this repository.
          </para></listitem>
 
          <listitem><para><option>Check-Valid-Until</option> (<option>check-valid-until</option>)
index 0b37607931b5dc11e10c603f1378e5d24e4cbbfb..f4b480e64213c055e03fea7385caca84b8517c3c 100644 (file)
@@ -3006,12 +3006,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr ""
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr ""
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 05a62bc680a6b8361ec95da5c83f22b6ce6786d4..ebe747ebb287db903873b3c04a91130320d70bbc 100644 (file)
--- a/po/ar.po
+++ b/po/ar.po
@@ -3067,12 +3067,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "تعذر فتح ملف قاعدة البيانات %s: %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "لاحظ، تحديد %s بدلاً من %s\n"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index f3a65f7b356af5a1a3db1f4b6514570992554683..739759eaa3c843edbd894aed93d6a5fe7cf31bed 100644 (file)
--- a/po/ast.po
+++ b/po/ast.po
@@ -3194,13 +3194,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Entrada inválida pa 'Date' nel ficheru release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Entrada inválida pa 'Valid-Until' nel ficheru release %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Entrada inválida pa '%s' nel ficheru release %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index cb3cd96d756ce99c701cd1d63a341fd3487a4b16..22962cb8fae0d7fa9b772c1943c864fe35b88fb4 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -3231,13 +3231,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Неправилна стойност за „Date“ във файла Release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Неправилна стойност за „Valid-Until“ във файла Release %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Неправилна стойност за „%s“ във файла Release %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 974518689a6304c050f7c956b9cd9e6ed9bff4ed..f83a12d03f9a187e6474e167cfe8c0de31c97075 100644 (file)
--- a/po/bs.po
+++ b/po/bs.po
@@ -3047,14 +3047,9 @@ msgid ""
 "security purposes"
 msgstr ""
 
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ne mogu otvoriti DB datoteku %s"
-
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr ""
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index e86b8ea7ee67d445882b81c1d20bda988f056c37..34f3476db5fadd2cc69104fbf7f17d590184d5f4 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -3234,13 +3234,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "El camp «Date» al fitxer Release %s és invàlid"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "El camp «Valid-Until» al fitxer Release %s és invàlid"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "El camp «%s» al fitxer Release %s és invàlid"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index b0c165b7e35fd6035a02eef9c08cc49d86837430..85fc8d25b87edb3b7efd92295c5e33fe45c3e9d0 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -3200,13 +3200,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Neplatná položka „Date“ v Release souboru %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Neplatná položka „Valid-Until“ v Release souboru %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Neplatná položka „%s“ v Release souboru %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 0ea21f927e8a03286eff9583fce192b363720e9e..d7b6e709a9efce307aad322bba297d7b289fe8c1 100644 (file)
--- a/po/cy.po
+++ b/po/cy.po
@@ -3229,15 +3229,9 @@ msgid ""
 "security purposes"
 msgstr ""
 
-# FIXME: number?
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ni ellir gramadegu ffeil becynnau %s (1)"
-
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Llinell annilys yn y ffeil dargyfeirio: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 7cd4effb0ee8b05051f4ca618d258c68be5eaf71..b3958c3b6bf02ae48085adaf571d2c215e7908a1 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -3214,13 +3214,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ugyldigt punkt »Date« i udgivelsesfil %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Ugyldigt punkt »Valid-Until« i udgivelsesfil %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Ugyldigt punkt »%s« i udgivelsesfil %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index cbabbc13094baf6f48b80322d635cd5384581b8d..dbf48aa7553a51468f178f367e3f0c2e0189a55e 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -3303,13 +3303,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ungültiger »Date«-Eintrag in Release-Datei %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Ungültiger »Valid-Until«-Eintrag in Release-Datei %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Ungültiger »%s«-Eintrag in Release-Datei %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 08362218b35e4b15a108a56bcf74d53b7b68c0fc..9b31d7b321160914e3c75b01c12deefe42959138 100644 (file)
--- a/po/dz.po
+++ b/po/dz.po
@@ -3183,12 +3183,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "%s (༡་)་ཐུམ་སྒྲིལ་ཡིག་སྣོད་འདི་མིང་དཔྱད་འབད་མ་ཚུགས།"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "%s་ཁ་ཕྱོགས་ཡིག་སྣོད་ནང་ནུས་མེད་གྲལ་ཐིག"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index c2b37f24d970c8aef88fe265c53aa8c056b3c73f..589eea0edf92698aa976185eeb73de0764051a79 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -3212,12 +3212,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Αδύνατη η ανάλυση του αρχείου πακέτου %s (1)"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Μη έγκυρη γραμμή στο αρχείο παρακάμψεων: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 119c57624813fe582ad0a9615508e94d2e4e50c8..e50e5b02ee13e72b849e4f1b4a16e09213535dcc 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -3368,13 +3368,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Entrada «Date» inválida en el archivo «Release» %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Entrada «Valid-Until» inválida en el archivo «Release» %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Entrada «%s» inválida en el archivo «Release» %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 3425a3a74aa55092274186a136ecbd4081e5c118..cdf6823707c619d4684a3284c952a09c303df114 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -3183,12 +3183,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ezin da %s pakete fitxategia analizatu (1)"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Lerro baliogabea desbideratze fitxategian: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index f4d2bb0547ef54223f0e2320766458cf639d28e4..5a2dc57bb17cbbb78379c3fc25117c9344a7dfff 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -3174,12 +3174,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Pakettitiedostoa %s (1) ei voi jäsentää"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Virheellinen rivi korvautustiedostossa: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index f26a63388e61e1f38342434f8252975e7fad0b4b..534c187cf1bac63757fa77a5a2aaddf00b1aedfd 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -3287,13 +3287,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Entrée « Date » non valable dans le fichier Release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Entrée « Valid-Until » non valable dans le fichier Release %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Entrée « %s » non valable dans le fichier Release %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 132ac77ce3b7de6505afc8986fa94beade930772..f578b154e44c42bcaae8a5f2aea12d5a0b12401d 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -3228,13 +3228,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "A entrada «Date» no ficheiro de publicación %s non é válida"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "A entrada «Valid-Until» no ficheiro de publicación %s non é válida"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "A entrada «%s» no ficheiro de publicación %s non é válida"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index efde6d6a6727cffc65a4c9f94eafe291587d8a26..5a01d37eb110b18a9e3e37060d5f28541dae1b57 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -3273,13 +3273,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Érvénytelen „Date” bejegyzés a(z) %s Release fájlban"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Érvénytelen „Valid-Until” bejegyzés a(z) %s Release fájlban"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Érvénytelen „%s” bejegyzés a(z) %s Release fájlban"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 3b0eb4c6776895d8d7b11cb8da45bd725dfbd44e..1b6160e9e94e74c3ff775699a0109f19d09abd26 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -3270,13 +3270,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Voce \"Date\" nel file Release %s non valida"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Voce \"Valid-Until\" nel file Release %s non valida"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Voce \"%s\" nel file Release %s non valida"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 4107bd51ddd3cdd847c104fd6af7b3158aa0bba8..a1706a6d3b065c6d90d3c3be247bec76e8bc0330 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -3265,13 +3265,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Release ファイル %s に無効な 'Date' エントリがあります"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Release ファイル %s に無効な 'Valid-Until' エントリがあります"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Release ファイル %s に無効な '%s' エントリがあります"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 9fa5ed44533b0860013db6f70393fa032611652c..5ac58b2ac39960861474e2e8974d8880d4081e77 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -3162,13 +3162,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Release 파일 %s에 'Date' 항목이 잘못되었습니다"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Release 파일 %s에 'Valid-Until' 항목이 잘못되었습니다"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Release 파일 %s에 '%s' 항목이 잘못되었습니다"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index f09cb16ed81b91dcc6e0bd317ccd65feccf8e2c0..60303c6e5abb5f391bd204fd473a08e4581c8885 100644 (file)
--- a/po/ku.po
+++ b/po/ku.po
@@ -3062,14 +3062,9 @@ msgid ""
 "security purposes"
 msgstr ""
 
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Pakêt nehate dîtin %s"
-
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr ""
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 6ebf6c769dc1e1cc4ac89ccfc044066291a31dd8..cf5208dbeacc9e4f593e6d25e35a8e03086b236c 100644 (file)
--- a/po/lt.po
+++ b/po/lt.po
@@ -3155,12 +3155,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Nepavyko atverti DB failo %s: %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Pastaba: pažymimas %s vietoje %s\n"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 11cdacb4396200f50169905353a743b9085fb2dd..c7d10f744c268f7977609d390deb9d3819596ca9 100644 (file)
--- a/po/mr.po
+++ b/po/mr.po
@@ -3156,12 +3156,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "%s (1) पॅकेज फाईल पार्स करण्यात असमर्थ"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "%s डायव्हर्जन फाईलमध्ये अवैध ओळ आहे:"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 1b1801e22de15ef49c6b33eebc0eed8c25416f01..70dbe3becb33384afb802fe0490668957ba1c9c5 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -3198,13 +3198,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ugyldig «Date»-oppføring i Release-fila %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Ugyldig «Valid-Until»-oppføring i Release-fila %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Ugyldig «%s»-oppføring i Release-fila %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index ff28963129f365cd0085bc33726ad64e82cb921a..aabb3bdd1eaeafeaad7ae50ba24e5c4226e4537c 100644 (file)
--- a/po/ne.po
+++ b/po/ne.po
@@ -3156,12 +3156,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "प्याकेज फाइल पद वर्णन गर्न असक्षम %s (१)"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "घुमाउरो फाइलमा अवैध लाइन:%s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 202fa57050b93f51027680498105339f37d496e2..f65806713f120f3deafa5e3471ddd555e9c71e18 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -3320,13 +3320,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ongeldige 'Date'-vermelding in Release-bestand %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Ongeldige 'Valid-Until'-vermelding in Release-bestand %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Ongeldige '%s'-vermelding in Release-bestand %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 4c22ef9474af80f23518903979b06e4dc2f77fe6..28d4ca1f9b65b6c8fa0fc853ecdbcebfeec82bd7 100644 (file)
--- a/po/nn.po
+++ b/po/nn.po
@@ -3171,12 +3171,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Klarte ikkje tolka pakkefila %s (1)"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Ugyldig linje i avleiingsfila: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index f3517fc7f53b4177d70ad76332a13d7c2a63a871..ab4226754393e4ba7d1f836b7ff4b425639127f0 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -3262,13 +3262,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Nieprawidłowy wpis Date w pliku Release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Nieprawidłowy wpis Valid-Until w pliku Release %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Nieprawidłowy wpis %s w pliku Release %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index a73f4d12eb27529fcb5a32e8cfc574548947ee29..1a2f965912e26fdea3875bd2e274cacdc1f2101d 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -3238,13 +3238,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Entrada, 'Date', inválida no ficheiro Release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Entrada inválida, 'Valid-until', no ficheiro de Release: %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Entrada inválida, '%s', no ficheiro de Release: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 72999ca984882f8c3ec3fcf51a0a1bc309270038..0dcce79838981f745c327d0b1945dc1035e67161 100644 (file)
@@ -3195,12 +3195,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Impossível analisar arquivo de pacote %s (1)"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Linha inválida no arquivo de desvios: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index cc887e72eada62158ffca28dbc9c2a5d659aeb33..ab86ba42167cef836b44f7044127eba8f8dc779d 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -3211,12 +3211,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Nu s-a putut analiza fișierul pachet %s (1)"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Linie necorespunzătoare în fișierul-redirectare: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index 0f2d58dff11977165a1096ff8fd6984d7e1d5fe4..d831a67287a817abf795e152d61d5cf0f405f3f6 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -3258,13 +3258,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Неправильный элемент «Date» в файле Release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Неправильный элемент «Valid-Until» в файле Release %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Неправильный элемент «%s» в файле Release %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 88c9ad6ae7bbb579fac1548f7f2daecdb7572b32..7646a62d67aaba9551ce663748392704f1716300 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -3212,13 +3212,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Chýba položka „Date“ v súbore Release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Chýba položka „Valid-Until“ v súbore Release %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Chýba položka „%s“ v súbore Release %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index b6d6211528adc4ba366f09658f712f9ca2313745..f3500e38f31f3840c0acc31120d893ca0a67f25d 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -3215,13 +3215,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Neveljavne vnos 'Datum' v Release datoteki %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Neveljaven vnos 'Veljavno-do' v Release datoteki %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Neveljaven vnos '%s' v Release datoteki %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 3580937c239e8300e064692d802f265219dd25e0..2582689aa81cc3f65947424e8c6e538b6e8aacbb 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -3238,13 +3238,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Ogiltig ”Date”-post i Release-filen %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Ogiltig ”Valid-Until”-post i Release-filen %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Ogiltig ”%s”-post i Release-filen %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 45680fbc52584b3285fb9fedfd98b187f278b4c5..ab13fedbd2e0586a555a34705ada177db9554263 100644 (file)
--- a/po/th.po
+++ b/po/th.po
@@ -3142,13 +3142,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "รายการ 'Date' ไม่ถูกต้องในแฟ้ม Release %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "รายการ 'Valid-Until' ไม่ถูกต้องในแฟ้ม Release %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "รายการ '%s' ไม่ถูกต้องในแฟ้ม Release %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index a0801808e3eeb519de7822e8e333d392cb470f64..b7fe79ba0066c6f6f26a47934caa3d77e3082b0f 100644 (file)
--- a/po/tl.po
+++ b/po/tl.po
@@ -3191,12 +3191,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Hindi ma-parse ang talaksang pakete %s (1)"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "Di tanggap na linya sa talaksang diversion: %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index dc002e2cbd2836872ec8f351a4e6356f1652b3d0..05154f1cf834f5ec69da470d1e96beb5f8c5116f 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -3238,13 +3238,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "'Release' dosyasında (%s) geçersiz 'Date' girdisi"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "'Release' dosyasında (%s) geçersiz 'Valid-Until' girdisi"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "'Release' dosyasında (%2$s) geçersiz '%1$s' girdisi"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index b8901017755755c5a4a38b46ebe4378d836c501e..6f3141c05ec38dedc04d0f84b049e299a558df44 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -3259,13 +3259,8 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "Невірний запис 'Date' у 'Release' файлі %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "Невірний запис 'Valid-Until' у 'Release' файлі %s"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "Невірний запис '%s' у 'Release' файлі %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index 48ce7e9661df090f48315792c31bd54b211c3a7b..b8bc451d8eb03318713bf2ef37ed9c177aa153e5 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -3233,15 +3233,9 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr ""
-"Gặp mục tin “Date” (ngày tháng) không hợp lệ trong tập tin Phát hành %s"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr ""
-"Gặp mục tin “Valid-Until” (hợp lệ đến khi) không hợp lệ trong tập tin Phát "
+"Gặp mục tin “%s” (hợp lệ đến khi) không hợp lệ trong tập tin Phát "
 "hành %s"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index a1fc57f426aa05c184d4740840441cf86fee776a..db479f521b8ff4012c9283a8d1b0686c88be7716 100644 (file)
@@ -3153,13 +3153,8 @@ msgstr "Release 文件 %s 中不含散列项,该文件用于保证足够的安
 
 #: apt-pkg/deb/debmetaindex.cc
 #, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "软件包仓库 Release 文件 %s 内 Date 条目无效"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
-msgstr "软件包仓库 Release 文件 %s 内 Valid-Until 条目无效"
+msgid "Invalid '%s' entry in Release file %s"
+msgstr "软件包仓库 Release 文件 %2$s 内 %1$s 条目无效"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
 #: apt-pkg/deb/debmetaindex.cc
index b311eacc8fb18eb5b86796e63da23edb098ffa74..4d9af1bbb551679e3b72ae4f751c679b5da66f95 100644 (file)
@@ -3140,12 +3140,7 @@ msgstr ""
 
 #: apt-pkg/deb/debmetaindex.cc
 #, fuzzy, c-format
-msgid "Invalid 'Date' entry in Release file %s"
-msgstr "在 Release 檔 %s 裡沒有 Hash 項目"
-
-#: apt-pkg/deb/debmetaindex.cc
-#, fuzzy, c-format
-msgid "Invalid 'Valid-Until' entry in Release file %s"
+msgid "Invalid '%s' entry in Release file %s"
 msgstr "在 Release 檔 %s 裡沒有 Hash 項目"
 
 #. TRANSLATOR: The first is an option name from sources.list manpage, the other two URI and Suite
index e2e1b5b76a92ec2c2fd926a1d0b5af693e67dd4c..24e7830aab82bcdd4c3f1de7aee7bb1194b40333 100755 (executable)
@@ -29,7 +29,7 @@ prepare() {
        cp "$1" aptarchive/Packages
        find aptarchive -name 'Release' -delete
        compressfile 'aptarchive/Packages' "$DATE"
-       generatereleasefiles "$DATE"
+       generatereleasefiles "$DATE" 'now + 1 month'
 }
 
 installaptold() {
@@ -47,6 +47,7 @@ Download complete and in download only mode" aptget install apt -dy
 }
 
 installaptnew() {
+       rm -rf rootdir/var/cache/apt/archives
        testsuccessequal "Reading package lists...
 Building dependency tree...
 Suggested packages:
@@ -301,6 +302,55 @@ runtest() {
        rm -f rootdir/etc/apt/trusted.gpg.d/marvinparanoid.gpg
        sed -i "s#^\(deb\(-src\)\?\) \[signed-by=${MARVIN},${SIXPACK}\] #\1 #" rootdir/etc/apt/sources.list.d/*
 
+       rm -rf rootdir/var/lib/apt/lists-bak
+       cp -a rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists-bak
+       prepare "${PKGFILE}-new"
+       signreleasefiles 'Joe Sixpack'
+       find aptarchive/ -name "$DELETEFILE" -delete
+
+       msgmsg 'Warm archive with signed-by' 'Joe Sixpack'
+       sed -i "/^Valid-Until: / a\
+Signed-By: ${SIXPACK}" rootdir/var/lib/apt/lists/*Release
+       touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release
+       successfulaptgetupdate
+       testsuccessequal "$(cat "${PKGFILE}-new")
+" aptcache show apt
+       installaptnew
+
+       msgmsg 'Warm archive with signed-by' 'Marvin Paranoid'
+       rm -rf rootdir/var/lib/apt/lists
+       cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists
+       sed -i "/^Valid-Until: / a\
+Signed-By: ${MARVIN}" rootdir/var/lib/apt/lists/*Release
+       touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release
+       updatewithwarnings 'W: .* public key is not available: GOODSIG'
+       testsuccessequal "$(cat "${PKGFILE}")
+" aptcache show apt
+       installaptold
+
+       msgmsg 'Warm archive with outdated signed-by' 'Marvin Paranoid'
+       rm -rf rootdir/var/lib/apt/lists
+       cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists
+       sed -i "/^Valid-Until: / a\
+Valid-Until: $(date -u -d "now - 2min" '+%a, %d %b %Y %H:%M:%S %Z') \\
+Signed-By: ${MARVIN}" rootdir/var/lib/apt/lists/*Release
+       touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release
+       successfulaptgetupdate
+       testsuccessequal "$(cat "${PKGFILE}-new")
+" aptcache show apt
+       installaptnew
+
+       msgmsg 'Warm archive with two signed-bys' 'Joe Sixpack'
+       rm -rf rootdir/var/lib/apt/lists
+       cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists
+       sed -i "/^Valid-Until: / a\
+Signed-By: ${MARVIN} ${MARVIN}, \\
+ ${SIXPACK}" rootdir/var/lib/apt/lists/*Release
+       touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release
+       successfulaptgetupdate
+       testsuccessequal "$(cat "${PKGFILE}-new")
+" aptcache show apt
+       installaptnew
 }
 
 runtest2() {