Просмотр исходного кода

really move clearsign check into pkgAcqMetaClearSig::Done()

Michael Vogt лет назад: 12
Родитель
Сommit
a9bb651a04
2 измененных файлов с 16 добавлено и 7 удалено
  1. 13 6
      apt-pkg/acquire-item.cc
  2. 3 1
      apt-pkg/acquire-item.h

+ 13 - 6
apt-pkg/acquire-item.cc

@@ -2000,21 +2000,28 @@ string pkgAcqMetaClearSig::Custom600Headers() const
    return "\nIndex-File: true\nFail-Ignore: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
    return "\nIndex-File: true\nFail-Ignore: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
 }
 }
 									/*}}}*/
 									/*}}}*/
-void pkgAcqMetaClearSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{*/
+// pkgAcqMetaClearSig::Done - We got a file                     	/*{{{*/
+// ---------------------------------------------------------------------
+void pkgAcqMetaClearSig::Done(std::string Message,unsigned long long Size, 
+                              HashStringList const &Hashes,
+                              pkgAcquire::MethodConfig *Cnf)
 {
 {
-   // we failed, we will not get additional items from this method
-   ExpectedAdditionalItems = 0;
-
    // if we expect a ClearTextSignature (InRelase), ensure that
    // if we expect a ClearTextSignature (InRelase), ensure that
    // this is what we get and if not fail to queue a 
    // this is what we get and if not fail to queue a 
    // Release/Release.gpg, see #346386
    // Release/Release.gpg, see #346386
-   if (!StartsWithGPGClearTextSignature(DestFile))
+   if (FileExists(DestFile) && !StartsWithGPGClearTextSignature(DestFile))
    {
    {
       //_error->Error(_("Does not start with a clear sign signature"));
       //_error->Error(_("Does not start with a clear sign signature"));
       pkgAcquire::Item::Failed(Message, Cnf);
       pkgAcquire::Item::Failed(Message, Cnf);
       return;
       return;
    }
    }
-
+   pkgAcqMetaIndex::Done(Message, Size, Hashes, Cnf);
+}
+									/*}}}*/
+void pkgAcqMetaClearSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{*/
+{
+   // we failed, we will not get additional items from this method
+   ExpectedAdditionalItems = 0;
 
 
    if (AuthPass == false)
    if (AuthPass == false)
    {
    {

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

@@ -507,8 +507,10 @@ class pkgAcqMetaClearSig : public pkgAcqMetaIndex
    std::string MetaSigShortDesc;
    std::string MetaSigShortDesc;
 
 
 public:
 public:
-   void Failed(std::string Message,pkgAcquire::MethodConfig *Cnf);
+   virtual void Failed(std::string Message,pkgAcquire::MethodConfig *Cnf);
    virtual std::string Custom600Headers() const;
    virtual std::string Custom600Headers() const;
+   virtual void Done(std::string Message,unsigned long long Size, HashStringList const &Hashes,
+		     pkgAcquire::MethodConfig *Cnf);
 
 
    /** \brief Create a new pkgAcqMetaClearSig. */
    /** \brief Create a new pkgAcqMetaClearSig. */
    pkgAcqMetaClearSig(pkgAcquire *Owner,
    pkgAcqMetaClearSig(pkgAcquire *Owner,