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.
........
This commit is contained in:
Lars Gustäbel 2010-10-04 15:31:05 +00:00
parent 3cc7d7ae89
commit 2fdbfc507e
2 changed files with 7 additions and 4 deletions

View File

@ -923,8 +923,8 @@ class TarInfo(object):
self.chksum = 0 # header checksum
self.type = REGTYPE # member type
self.linkname = "" # link name
self.uname = "root" # user name
self.gname = "root" # group name
self.uname = "" # user name
self.gname = "" # group name
self.devmajor = 0 # device major number
self.devminor = 0 # device minor number
@ -1102,8 +1102,8 @@ class TarInfo(object):
info.get("type", REGTYPE),
stn(info.get("linkname", ""), 100, encoding, errors),
info.get("magic", POSIX_MAGIC),
stn(info.get("uname", "root"), 32, encoding, errors),
stn(info.get("gname", "root"), 32, encoding, errors),
stn(info.get("uname", ""), 32, encoding, errors),
stn(info.get("gname", ""), 32, encoding, errors),
itn(info.get("devmajor", 0), 8, format),
itn(info.get("devminor", 0), 8, format),
stn(info.get("prefix", ""), 155, encoding, errors)

View File

@ -124,6 +124,9 @@ C-API
Library
-------
- Issue #9065: tarfile no longer uses "root" as the default for the uname and
gname field.
- Issue #8980: Fixed a failure in distutils.command check that was shadowed
by an environment that does not have docutils. Patch by Arfrever.