]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/sourcelist.cc
support long keyid and fingerprint in gpgv's GOODSIG
[apt.git] / apt-pkg / sourcelist.cc
index f4a84cc9b7bf6850c49bd5bd25c41074616e484c..0da6878959f9cd6248761822dbc0b945764ab78d 100644 (file)
@@ -423,18 +423,18 @@ bool pkgSourceList::ParseFileOldStyle(std::string const &File)
 /* Returns: the number of stanzas parsed*/
 bool pkgSourceList::ParseFileDeb822(string const &File)
 {
-   unsigned int i = 1;
-
    // see if we can read the file
    FileFd Fd(File, FileFd::ReadOnly);
    pkgTagFile Sources(&Fd, pkgTagFile::SUPPORT_COMMENTS);
    if (Fd.IsOpen() == false || Fd.Failed())
-      return _error->Error(_("Malformed stanza %u in source list %s (type)"),i,File.c_str());
+      return _error->Error(_("Malformed stanza %u in source list %s (type)"),0,File.c_str());
 
    // read step by step
    pkgTagSection Tags;
+   unsigned int i = 0;
    while (Sources.Step(Tags) == true)
    {
+      ++i;
       if(Tags.Exists("Types") == false)
         return _error->Error(_("Malformed stanza %u in source list %s (type)"),i,File.c_str());
 
@@ -452,8 +452,6 @@ bool pkgSourceList::ParseFileDeb822(string const &File)
 
          if (!Parse->ParseStanza(SrcList, Tags, i, Fd))
             return false;
-
-         ++i;
       }
    }
    return true;
@@ -570,7 +568,8 @@ bool pkgSourceList::AddVolatileFile(std::string const &File, std::vector<std::st
       return false;
 
    std::string const ext = flExtension(File);
-   if (ext == "deb")
+   // udeb is not included as installing it is usually a mistake rather than intended
+   if (ext == "deb" || ext == "ddeb")
       AddVolatileFile(new debDebPkgFileIndex(File));
    else if (ext == "dsc")
       AddVolatileFile(new debDscFileIndex(File));