test-releasefile-date-older 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/sh
  2. set -e
  3. TESTDIR="$(readlink -f "$(dirname "$0")")"
  4. . "$TESTDIR/framework"
  5. setupenvironment
  6. configarchitecture 'i386'
  7. insertpackage 'wheezy' 'apt' 'all' '0.8.15'
  8. setupaptarchive --no-update
  9. # we don't complain as the server could have just sent a 'Hit' here and this
  10. # 'downgrade attack' is usually performed by out-of-sync mirrors. Valid-Until
  11. # catches the 'real' downgrade attacks (expect that it finds stale mirrors).
  12. # Scaring users with an error here serves hence no point.
  13. msgmsg 'InRelease file is silently rejected if' 'new Date is before old Date'
  14. rm -rf rootdir/var/lib/apt/lists
  15. generatereleasefiles 'now' 'now + 7 days'
  16. signreleasefiles
  17. testsuccess aptget update
  18. listcurrentlistsdirectory > listsdir.lst
  19. redatereleasefiles 'now - 2 days'
  20. testsuccess aptget update
  21. testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"
  22. msgmsg 'Release.gpg file is silently rejected if' 'new Date is before old Date'
  23. rm -rf rootdir/var/lib/apt/lists
  24. generatereleasefiles 'now' 'now + 7 days'
  25. signreleasefiles
  26. find aptarchive -name 'InRelease' -delete
  27. testsuccess aptget update
  28. listcurrentlistsdirectory > listsdir.lst
  29. redatereleasefiles 'now - 2 days'
  30. find aptarchive -name 'InRelease' -delete
  31. testsuccess aptget update
  32. testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"
  33. msgmsg 'Crisscross InRelease/Release.gpg file is silently rejected if' 'new Date is before old Date'
  34. rm -rf rootdir/var/lib/apt/lists
  35. generatereleasefiles 'now' 'now + 7 days'
  36. signreleasefiles
  37. find aptarchive -name 'Release.gpg' -delete
  38. testsuccess aptget update
  39. listcurrentlistsdirectory > listsdir.lst
  40. redatereleasefiles 'now - 2 days'
  41. find aptarchive -name 'InRelease' -delete
  42. testsuccess aptget update
  43. testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"
  44. msgmsg 'Crisscross Release.gpg/InRelease file is silently rejected if' 'new Date is before old Date'
  45. rm -rf rootdir/var/lib/apt/lists
  46. generatereleasefiles 'now' 'now + 7 days'
  47. signreleasefiles
  48. find aptarchive -name 'InRelease' -delete
  49. testsuccess aptget update
  50. listcurrentlistsdirectory > listsdir.lst
  51. redatereleasefiles 'now - 2 days'
  52. find aptarchive -name 'Release.gpg' -delete
  53. testsuccess aptget update
  54. testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"