summaryrefslogtreecommitdiffstats
path: root/Lib/tarfile.py
diff options
context:
space:
mode:
authorLars Gustäbel <lars@gustaebel.de>2010-10-04 15:18:47 (GMT)
committerLars Gustäbel <lars@gustaebel.de>2010-10-04 15:18:47 (GMT)
commit331b8002f029568dc4bca18bd320200bcb59ca47 (patch)
tree66d7a60ec7c0c7ed28d5567dd92236a80f6291d1 /Lib/tarfile.py
parentf580adee279d0c7952b5d85cf5ca6497260d2635 (diff)
downloadcpython-331b8002f029568dc4bca18bd320200bcb59ca47.zip
cpython-331b8002f029568dc4bca18bd320200bcb59ca47.tar.gz
cpython-331b8002f029568dc4bca18bd320200bcb59ca47.tar.bz2
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.
Diffstat (limited to 'Lib/tarfile.py')
-rw-r--r--Lib/tarfile.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 8c330c6..cc7514d 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -945,8 +945,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
@@ -1124,8 +1124,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)