summaryrefslogtreecommitdiff
path: root/Lib/tarfile.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-41316: Make tarfile follow specs for FNAME (GH-21511)Artem Bulgakov2020-09-071-0/+2
| | | | | | | | | | tarfile writes full path to FNAME field of GZIP format instead of just basename if user specified absolute path. Some archive viewers may process file incorrectly. Also it creates security issue because anyone can know structure of directories on system and know username or other personal information. RFC1952 says about FNAME: This is the original name of the file being compressed, with any directory components removed. So tarfile must remove directory names from FNAME and write only basename of file. Automerge-Triggered-By: @jaraco
* bpo-39017: Avoid infinite loop in the tarfile module (GH-21454)Rishi2020-07-151-0/+2
| | | | | Avoid infinite loop when reading specially crafted TAR files using the tarfile module (CVE-2019-20907).
* bpo-18819: tarfile: only set device fields for device files (GH-18080)William Chargin2020-02-121-2/+10
| | | | | | The GNU docs describe the `devmajor` and `devminor` fields of the tar header struct only in the context of character and block special files, suggesting that in other cases they are not populated. Typical utilities behave accordingly; this patch teaches `tarfile` to do the same.
* bpo-39430: Fix race condition in lazy imports in tarfile. (GH-18161)Serhiy Storchaka2020-01-241-10/+8
| | | Use `from ... import ...` to ensure module is fully loaded before accessing its attributes.
* bpo-29435: Allow is_tarfile to take a filelike obj (GH-18090)William Woodruff2020-01-221-1/+6
| | | `is_tarfile()` now supports `name` being a file or file-like object.
* Add missing docstrings for TarInfo objects (#12555)Raymond Hettinger2019-03-271-7/+46
|
* bpo-36268: Change default tar format to pax from GNU. (GH-12355)CAM Gerlach2019-03-211-1/+1
|
* Clean up code which checked presence of os.{stat,lstat,chmod} (#11643)Anthony Sottile2019-02-251-8/+6
|
* bpo-34043: Optimize tarfile uncompress performance (GH-8089)INADA Naoki2018-07-061-18/+12
| | | | | | | | | | | tarfile._Stream has two buffer for compressed and uncompressed data. Those buffers are not aligned so unnecessary bytes slicing happens for every reading chunks. This commit bypass compressed buffering. In this benchmark [1], user time become 250ms from 300ms. [1]: https://bugs.python.org/msg320763
* bpo-34010: Fix tarfile read performance regression (GH-8020)hajoscher2018-07-041-9/+11
| | | | During buffered read, use a list followed by join instead of extending a bytes object. This is how it was done before but changed in commit b506dc32c1a.
* bpo-33842: Remove tarfile.filemode (GH-7661)INADA Naoki2018-06-281-7/+0
|
* bpo-32713: Fix tarfile.itn for large/negative float values. (GH-5434)Joffrey F2018-02-271-1/+2
|
* bpo-30693: zip+tarfile: sort directory listing (#2263)Bernhard M. Wiedemann2018-01-311-1/+1
| | | | | | tarfile and zipfile now sort directory listing to generate tar and zip archives in a more reproducible way. See also https://reproducible-builds.org/docs/stable-inputs/ on that topic.
* bpo-32297: Few misspellings found in Python source code comments. (#4803)Mike2017-12-141-1/+1
| | | | | | | | * Fix multiple typos in code comments * Add spacing in comments (test_logging.py, test_math.py) * Fix spaces at the beginning of comments in test_logging.py
* Remove two legacy constants which hopefully have no consumers (#1087)Alex Gaynor2017-04-111-2/+0
| | | The data contained in them is nonsensical
* bpo-29958: Minor improvements to zipfile and tarfile CLI. (#944)Serhiy Storchaka2017-04-071-9/+6
|
* bpo-29776: Use decorator syntax for properties. (#585)Serhiy Storchaka2017-03-191-6/+10
|
* Issue #29210: Removed support of deprecated argument "exclude" inSerhiy Storchaka2017-01-131-13/+3
| | | | tarfile.TarFile.add().
* Issue #26937: The chown() method of the tarfile.TarFile class does not fail nowXavier de Gaye2016-12-091-12/+19
| | | | when the grp module cannot be imported, as for example on Android platforms.
* Issue #28449: tarfile.open() with mode "r" or "r:" now tries to open a tarSerhiy Storchaka2016-10-301-1/+3
|\ | | | | | | | | file with compression before trying to open it without compression. Otherwise it had 50% chance failed with ignore_zeros=True.
| * Issue #28449: tarfile.open() with mode "r" or "r:" now tries to open a tarSerhiy Storchaka2016-10-301-1/+3
| | | | | | | | | | file with compression before trying to open it without compression. Otherwise it had 50% chance failed with ignore_zeros=True.
* | Issue #27199: TarFile expose copyfileobj bufsize to improve throughputŁukasz Langa2016-09-091-15/+18
| | | | | | | | Patch by Jason Fried.
* | Issue #27355: Removed support for Windows CE. It was never finished,Larry Hastings2016-09-051-1/+1
| | | | | | | | and Windows CE is no longer a relevant platform for Python.
* | Merge 3.5, issue #27194Łukasz Langa2016-06-111-2/+2
|\ \ | |/
| * Issue #27194: superfluous truncate calls in tarfile.py slow down extractionŁukasz Langa2016-06-111-2/+2
| | | | | | | | Patch by Jason Fried.
* | Issue #24838: Merge tarfile fix from 3.5.Lars Gustäbel2016-04-191-14/+15
|\ \ | |/
| * Issue #24838: tarfile's ustar and gnu formats now correctly calculate name andLars Gustäbel2016-04-191-14/+15
| | | | | | | | link field limits for multibyte character encodings like utf-8.
* | Issue #26778: Fixed "a/an/and" typos in code comment, documentation and errorSerhiy Storchaka2016-04-171-2/+2
|\ \ | |/ | | | | messages.
| * Issue #26778: Fixed "a/an/and" typos in code comment and documentation.Serhiy Storchaka2016-04-171-2/+2
| |
* | Issue #22468: Merge gettarinfo() doc from 3.5Martin Panter2016-02-191-10/+11
|\ \ | |/
| * Issues #22468, #21996, #22208: Clarify gettarinfo() and TarInfo usageMartin Panter2016-02-191-10/+11
| | | | | | | | | | | | | | | | * The Windows-specific binary notice was probably a Python 2 thing * Make it more obvious gettarinfo() is based on stat(), and that non-ordinary files may need special care * The file name must be text; suggest dummy arcname as a workaround * Indicate TarInfo may be used directly, not just via gettarinfo()
* | Issue #23883: Add missing APIs to tarfile.__all__Martin Panter2016-01-161-1/+4
| | | | | | | | Patch by Joel Taddei and Jacek Kołodziej.
* | Issue #22227: The TarFile iterator is reimplemented using generator.Serhiy Storchaka2015-12-191-42/+26
|/ | | | This implementation is simpler that using class.
* Issue #22341: Drop Python 2 workaround and document CRC initial valueMartin Panter2015-12-111-7/+1
| | | | Also align the parameter naming in binascii to be consistent with zlib.
* Merge with 3.4: Issue #24259: tarfile now raises a ReadError if an archive ↵Lars Gustäbel2015-07-061-7/+15
|\ | | | | | | is truncated inside a data segment.
| * Issue #24259: tarfile now raises a ReadError if an archive is truncated ↵Lars Gustäbel2015-07-061-7/+15
| | | | | | | | inside a data segment.
* | Merge with 3.4: Issue #24514: tarfile now tolerates number fields consisting ↵Lars Gustäbel2015-07-021-1/+2
|\ \ | |/ | | | | of only whitespace.
| * Issue #24514: tarfile now tolerates number fields consisting of only whitespace.Lars Gustäbel2015-07-021-1/+2
| |
* | tarfile.open() with mode 'x' created files without an end of archive marker.Lars Gustäbel2015-05-271-2/+2
| |
* | Issue 23193: Add numeric_owner to tarfile.TarFile.extract() and ↵Eric V. Smith2015-04-151-17/+28
| | | | | | | | tarfile.TarFile.extractall().
* | Issue #23865: close() methods in multiple modules now are idempotent and moreSerhiy Storchaka2015-04-101-30/+31
|\ \ | |/ | | | | | | robust at shutdown. If needs to release multiple resources, they are released even if errors are occured.
| * Issue #23865: close() methods in multiple modules now are idempotent and moreSerhiy Storchaka2015-04-101-30/+31
| | | | | | | | | | robust at shutdown. If needs to release multiple resources, they are released even if errors are occured.
* | Issue #23615: Modules bz2, tarfile and tokenize now can be reloaded withSerhiy Storchaka2015-03-111-1/+1
|\ \ | |/ | | | | imp.reload(). Patch by Thomas Kluyver.
| * Issue #23615: Modules bz2, tarfile and tokenize now can be reloaded withSerhiy Storchaka2015-03-111-1/+1
| | | | | | | | imp.reload(). Patch by Thomas Kluyver.
* | Issue #21717: tarfile.open() now supports 'x' (exclusive creation) mode.Berker Peksag2015-02-131-14/+23
| |
* | Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h.Serhiy Storchaka2015-02-101-8/+8
|\ \ | |/
| * Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h.Serhiy Storchaka2015-02-101-8/+8
| |
* | Issue #21549: Added the "members" parameter to TarFile.list().Serhiy Storchaka2014-08-211-3/+6
|/
* Issue 21044: tarfile.open() now handles fileobj with an integer 'name'Serhiy Storchaka2014-07-161-1/+2
| | | | attribute. Based on patch by Martin Panter.
* Issue #20976: pyflakes: Remove unused importsVictor Stinner2014-03-201-2/+0
|