[Hackage] #246: cabal-install's tar unpacking does not cope well with links
#246: cabal-install's tar unpacking does not cope well with links ----------------------------------+----------------------------------------- Reporter: duncan | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: cabal-install tool | Version: 1.2.3.0 Severity: normal | Keywords: Difficulty: very easy (<1 hour) | Ghcversion: 6.8.2 Platform: | ----------------------------------+----------------------------------------- {{{ Extracting /home/me/.cabal/packages/hackage.haskell.org/pandoc/0.46/pandoc-0.46.tar.gz to /tmp/TMPpandoc-0.46... cabal: /tmp/TMPpandoc-0.46/pandoc-0.46/COPYRIGHT: copyFile: does not exist (No such file or directory) }}} If we look at this tarfile we find that the `COPYRIGHT` entry in the tar file is actually a symbolic link to `debian/copyright`. The tar code in `cabal-install` is designed to cope with symbolic links. It handles them by copying the target file. Same goes for hard links. The problem in this case is that it is trying to copy the other file before it has been unpacked. One partial solution would be to accumulate a list of links and then copy all at the end after the other files have been unpacked. It's only partial because someone could make a tarball with links pointing to other links. We can probably just ignore that problem and let it fail in the same way it does now. -- Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/246> Hackage <http://haskell.org/cabal/> Hackage: Cabal and related projects
#246: cabal-install's tar unpacking does not cope well with links ---------------------------------+------------------------------------------ Reporter: duncan | Owner: Type: defect | Status: closed Priority: normal | Milestone: Component: cabal-install tool | Version: 1.2.3.0 Severity: normal | Resolution: fixed Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ---------------------------------+------------------------------------------ Changes (by kolmodin): * status: new => closed * resolution: => fixed Comment: {{{ Tue Mar 4 20:42:55 CET 2008 Lennart Kolmodin <kolmodin@gentoo.org> * Fix defect when unpacking tar files containing links There were two issues; * Unpacking links that point to files not yet unpacked * Used the link target as absolute path, but it's relative This patch addresses both issues, which is ticket #246. There may still be errors if a link refer to another link which has not been unpacked yet. }}} We should think of sanity (and security) too, what if a link points outside the working directory? -- Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/246#comment:1> Hackage <http://haskell.org/cabal/> Hackage: Cabal and related projects
participants (1)
-
Hackage