Bläddra i källkod

apt-pkg/acquire-item.{cc,h}: mark InRelease with Fail-Ignore to ensure the mirror methods does not retry on each mirror

Michael Vogt 15 år sedan
förälder
incheckning
8d6c583900
2 ändrade filer med 16 tillägg och 0 borttagningar
  1. 15 0
      apt-pkg/acquire-item.cc
  2. 1 0
      apt-pkg/acquire-item.h

+ 15 - 0
apt-pkg/acquire-item.cc

@@ -1538,6 +1538,21 @@ pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire *Owner,		/*{{{*/
    SigFile = DestFile;
 }
 									/*}}}*/
+// pkgAcqMetaClearSig::Custom600Headers - Insert custom request headers	/*{{{*/
+// ---------------------------------------------------------------------
+// FIXME: this can go away once the InRelease file is used widely
+string pkgAcqMetaClearSig::Custom600Headers()
+{
+   string Final = _config->FindDir("Dir::State::lists");
+   Final += URItoFileName(RealURI);
+
+   struct stat Buf;
+   if (stat(Final.c_str(),&Buf) != 0)
+      return "\nIndex-File: true\nFail-Ignore: true\n";
+
+   return "\nIndex-File: true\nFail-Ignore: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
+}
+									/*}}}*/
 void pkgAcqMetaClearSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{*/
 {
    if (AuthPass == false)

+ 1 - 0
apt-pkg/acquire-item.h

@@ -854,6 +854,7 @@ class pkgAcqMetaClearSig : public pkgAcqMetaIndex
 
 public:
    void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
+   virtual string Custom600Headers();
 
    /** \brief Create a new pkgAcqMetaClearSig. */
    pkgAcqMetaClearSig(pkgAcquire *Owner,