Commit Graph

102 Commits

Author SHA1 Message Date
Martin Panter
59b9a16e72 Issues #22468, #21996, #22208: Clarify gettarinfo() and TarInfo usage
* Make it more obvious gettarinfo() is based on stat(), and that non-ordinary
  files may need special care
* Filename taken from fileobj.name; suggest dummy arcname as a workaround
* Indicate TarInfo may be used directly, not just via gettarinfo()
2016-02-19 23:34:56 +00:00
Lars Gustäbel
518602ab11 Issue #24259: tarfile now raises a ReadError if an archive is truncated inside a data segment. 2015-07-06 09:23:04 +02:00
Lars Gustäbel
d048003d90 Issue #24514: tarfile now tolerates number fields consisting of only whitespace. 2015-07-02 19:37:08 +02:00
Serhiy Storchaka
1aa2c0f073 Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:24:10 +03:00
Serhiy Storchaka
205408dacb Issue #23615: Module tarfile is now can be reloaded with imp.reload(). 2015-03-11 17:31:59 +02:00
Benjamin Peterson
7fd59e09d2 properly handle file closing in error cases (closes #22266) 2014-08-27 20:31:21 -04:00
Serhiy Storchaka
7cc3b0aefb Backout 308f3c1e36d3. This change (issue21044) does not need to be merged on
2.7, as the os.fdopen sets the name attribute to '<fdopen>' and not to the fd.
2014-07-22 10:39:59 +03:00
Serhiy Storchaka
e7829bdf12 Issue 21044: tarfile.open() now handles fileobj with an integer 'name'
attribute.  Based on patch by Martin Panter.
2014-07-16 23:58:12 +03:00
Serhiy Storchaka
7a278da4ee Issue #20243: TarFile no longer raise ReadError when opened in write mode. 2014-01-18 16:14:00 +02:00
Serhiy Storchaka
75ba21a77d Issue #20245: The open functions in the tarfile module now correctly handle empty mode. 2014-01-18 15:35:19 +02:00
Serhiy Storchaka
e0ed2d75c8 Issue #19936: Added executable bits or shebang lines to Python scripts which
requires them.  Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface.
2014-01-16 18:59:17 +02:00
Ezio Melotti
f5469cff1f #18705: fix a number of typos. Patch by Févry Thibault. 2013-08-17 15:43:51 +03:00
Serhiy Storchaka
ce34ba6e3c Issue #16601: Restarting iteration over tarfile no more continues from where
it left off.  Patch by Michael Birtwell.
2013-05-09 14:22:05 +03:00
Andrew Svetlov
ac26a2e736 Issue #16477: Close tarfile internal handlers in case of exception.
Patch by Serhiy Storchaka.
2012-11-29 14:22:26 +02:00
Lars Gustäbel
231d474a7b Issue #14160: TarFile.extractfile() failed to resolve symbolic links when
the links were not located in an archive subdirectory.
2012-04-24 22:42:08 +02:00
Lars Gustäbel
7d4d074c99 Issue #13639: Accept unicode filenames in tarfile.open(mode="w|gz").
Passing a unicode filename to tarfile.open() along with mode "w|gz" failed
with a UnicodeError because the filename was not encoded properly before being
written to the gzipped stream in the FNAME extra field.
2011-12-21 19:27:50 +01:00
Lars Gustäbel
9a38863d8c Correctly detect bzip2 compressed streams with blocksizes other than 900k. 2011-12-06 13:07:09 +01:00
Lars Gustäbel
8babfdfd45 Issue #12841: Fix tarfile extraction of non-existent uids/gids.
tarfile unnecessarily checked the existence of numerical user and group ids on
extraction. If one of them did not exist the respective id of the current user
(i.e. root) was used for the file and ownership information was lost. (Patch
by Sebastien Luttringer)
2011-09-05 17:04:18 +02:00
Senthil Kumaran
4af1c6a4fc Fix closes Issue11439 - Handle the SVN Keywords in 2.7 by replacing them with a high number so that code relying on them does not break. 2011-07-28 22:30:27 +08:00
Senthil Kumaran
4dd89ce6bf Fix closes issue #12088 - fixes the tarfile.extractall issue when the
symlinks/hardlink was broken. It handles now in a graceful manner (No exception
is raised, behavior similar GNU tar).
2011-05-17 10:12:18 +08:00
Senthil Kumaran
011525ee92 Fix closes issue10761: tarfile.extractall failure when symlinked files are present. 2011-04-28 15:30:31 +08:00
Lars Gustäbel
6aab8d09b1 Merged revisions 85211 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85211 | lars.gustaebel | 2010-10-04 17:18:47 +0200 (Mon, 04 Oct 2010) | 14 lines

  Issue #9065: no longer use "root" as the default for the
  uname and gname field.

  If tarfile creates a new archive and adds a file with a
  uid/gid that doesn't have a corresponding name on the
  system (e.g. because the user/group account was deleted) it
  uses the empty string in the uname/gname field now instead
  of "root". Using "root" as the default was a bad idea
  because on extraction the uname/gname fields are supposed
  to override the uid/gid fields. So, all archive members
  with nameless uids/gids belonged to the root user after
  extraction.
........
2010-10-04 15:37:53 +00:00
Lars Gustäbel
4da7d410b3 Issue #8741: Fixed the TarFile.makelink() method that is responsible
for extracting symbolic and hard link entries as regular files as a
work-around on platforms that do not support filesystem links.

This stopped working reliably after a change in r74571. I also added
a few tests for this functionality.
2010-06-03 12:34:14 +00:00
Lars Gustäbel
2ee9c6fa50 Issue #8833: tarfile created hard link entries with a size
field != 0 by mistake. The associated testcase did not
expose this bug because it was broken too.
2010-06-03 09:56:22 +00:00
Ronald Oussoren
9545a23c7f In a number of places code still revers
to "sys.platform == 'mac'" and that is
dead code because it refers to a platform
that is no longer supported (and hasn't been
supported for several releases).

Fixes issue #7908 for the trunk.
2010-05-05 19:09:31 +00:00