]> git.saurik.com Git - apt.git/blobdiff - methods/gzip.cc
Merge branch 'debian/sid' into debian/experimental
[apt.git] / methods / gzip.cc
index 7ffcda60f66cace2b11fceaad4cbbeb6521fa346..65519633c07b8af6ed8b1829afab69c9117b2f57 100644 (file)
@@ -33,12 +33,22 @@ const char *Prog;
 class GzipMethod : public pkgAcqMethod
 {
    virtual bool Fetch(FetchItem *Itm);
+   virtual bool Configuration(std::string Message);
    
    public:
    
    GzipMethod() : pkgAcqMethod("1.1",SingleInstance | SendConfig) {};
 };
 
+bool GzipMethod::Configuration(std::string Message)
+{
+   if (pkgAcqMethod::Configuration(Message) == false)
+      return false;
+
+   DropPrivsOrDie();
+
+   return true;
+}
 
 // GzipMethod::Fetch - Decompress the passed URI                       /*{{{*/
 // ---------------------------------------------------------------------
@@ -81,7 +91,7 @@ bool GzipMethod::Fetch(FetchItem *Itm)
       return false;
 
    // Read data from source, generate checksums and write
-   Hashes Hash;
+   Hashes Hash(Itm->ExpectedHashes);
    bool Failed = false;
    while (1) 
    {
@@ -140,7 +150,5 @@ int main(int, char *argv[])
 
    GzipMethod Mth;
 
-   Mth.DropPrivsOrDie();
-
    return Mth.Run();
 }