This is an old non-standard extension that some tar tools still use.
Previously only created the immediate parent directory. No rely more heavily on the file security check to make sure we are not writing files outside of the target area.
When checking for tarbombs, ignore PAX entry types 'g' and 'x'. These do not get extracted so their names do not matter.
We were doing it wrong, but Linux realpath() C function was letting us get away with it. The Solaris realpath() is stricter. The new implementation is also simpler, relying on the fact that the canonicalizePath function will resolve symlinks.
…ith usage feedback for bad args This change was adapted from work submitted to the cabal-devel mailing list by Jason Dusek.
Fix handling of base dir in tar file creation.
This is a backport to the cabal-install 0.6.x series. It relies on the VersionIntervals ADT which was added in Cabal-1.7.x, so that also had to be backported.
That is, use the "preferred-versions" mechanism when deciding whether there is a new version available. This would allow us to upload a new version without everyone immediately being told to get it and try it out.
…server The code to do it was already there but we were checking for the mime type text/plain using just (==) when in fact the server reports text/plain; charset="ISO-8859-1" so we have to parse the field a bit better (still a bit of a hack).
Part of ticket #369
Make it clear that it's the specification of the package name that is at fault rather than the package to which the name refers.
Addresses the complaint in ticket #523.
So checking for parsec 2 fails. We don't strictly need parsec, it's just a dependency of network, so remove the check.
ghc-6.6.1 came with unix-2.1
Update Cabal lib version to 184.108.40.206 Implement a couple shell script coding style recommendations.
It's not strictly an error but it can be rather confusing.
Also update the name of one excluded field.