From 2fdbfc507e0a2e2b92415bf5a25090a6839ae799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gust=C3=A4bel?= Date: Mon, 4 Oct 2010 15:31:05 +0000 Subject: 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. ........ --- Lib/tarfile.py | 8 ++++---- Misc/NEWS | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Lib/tarfile.py b/Lib/tarfile.py index bc608e9..beb41357 100644 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -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) diff --git a/Misc/NEWS b/Misc/NEWS index d1cf06c..bbba943 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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. -- cgit v0.12