Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/77095eaaa2be95b8883b745da46d91ef22f0abd0 >--------------------------------------------------------------- commit 77095eaaa2be95b8883b745da46d91ef22f0abd0 Author: Duncan Coutts <[email protected]> Date: Sun Nov 22 08:02:55 2009 +0000 Ignore PAX entries when checking for tarbombs When checking for tarbombs, ignore PAX entry types 'g' and 'x'. These do not get extracted so their names do not matter. >--------------------------------------------------------------- cabal-install/Distribution/Client/Tar.hs | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/cabal-install/Distribution/Client/Tar.hs b/cabal-install/Distribution/Client/Tar.hs index 9b251f0..fd9150a 100644 --- a/cabal-install/Distribution/Client/Tar.hs +++ b/cabal-install/Distribution/Client/Tar.hs @@ -446,6 +446,15 @@ checkEntrySecurity entry = case entryContent entry of | otherwise = Nothing checkEntryTarbomb :: FilePath -> Entry -> Maybe String +checkEntryTarbomb _ entry | nonFilesystemEntry = Nothing + where + -- Ignore some special entries we will not unpack anyway + nonFilesystemEntry = + case entryContent entry of + OtherEntryType 'g' _ _ -> True --PAX global header + OtherEntryType 'x' _ _ -> True --PAX individual header + _ -> False + checkEntryTarbomb expectedTopDir entry = case FilePath.Native.splitDirectories (entryPath entry) of (topDir:_) | topDir == expectedTopDir -> Nothing _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
